亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? analyze_duc.m

?? This is GMS down upper converter and down converter in simulink. you may understand the structure in
?? M
?? 第 1 頁 / 共 2 頁
字號:
        clear cic_i_dout cic_q_dout cic_i_chan cic_q_chan ycic_duc;
    end
end
%% Clear variables
clear failed ch i_mismatches q_mismatches;

%% Analyze CIC scaled sample output
if exist('cic_i_scaled_dout')
    load results/ycic_duc_norm.mat
    %cic_start = min(find(cic_i_vout>0));
    cic_start = 693;   % From analyzing cic_vout

    %% Chop preceding zeroes and tail
    cic_i_scaled_temp = cic_i_scaled_dout(cic_start:end-2);
    cic_q_scaled_temp = cic_q_scaled_dout(cic_start:end-2);

    %% Adjust for rate change and clock oversampling
    cic_i_scaled_temp2 = [];
    cic_q_scaled_temp2 = [];
    for ii=1:m_cic*clk_os:size(cic_i_scaled_temp)-m_cic*n_carr
        %display(sprintf('Index %d',ii));
        cic_i_scaled_temp2 = [ cic_i_scaled_temp2; cic_i_scaled_temp(ii:ii+m_cic*n_carr-1) ];
        cic_q_scaled_temp2 = [ cic_q_scaled_temp2; cic_q_scaled_temp(ii:ii+m_cic*n_carr-1) ];
    end
    clear cic_i_scaled_temp cic_q_scaled_temp;

    %% Split CIC dout into channels and analyze
    cic_i_scaled_chan = zeros(ceil(length(cic_i_scaled_temp2)/n_carr),n_carr);
    cic_q_scaled_chan = zeros(ceil(length(cic_q_scaled_temp2)/n_carr),n_carr);
    cic_i_scaled_temp2 = [ cic_i_scaled_temp2 ; zeros(numel(cic_i_scaled_chan)-length(cic_i_scaled_temp2),1) ];
    cic_q_scaled_temp2 = [ cic_q_scaled_temp2 ; zeros(numel(cic_q_scaled_chan)-length(cic_q_scaled_temp2),1) ];
    for ii=1:n_carr
        cic_i_scaled_chan(:,ii) = cic_i_scaled_temp2(ii:n_carr:end);
        cic_q_scaled_chan(:,ii) = cic_q_scaled_temp2(ii:n_carr:end);
    end
    clear cic_i_scaled_temp2 cic_q_scaled_temp2;
    cic_i_scaled_chan = cic_i_scaled_chan(1:end-1,:);   % Drop end row, may hold filler zeros
    cic_q_scaled_chan = cic_q_scaled_chan(1:end-1,:);   % Drop end row, may hold filler zeros

    % Trim leading zeros from Matlab model output
    ycic_duc_norm_x = ycic_duc_norm(5:5+size(cic_i_scaled_chan(1:end,ii),1),:);

    if ShowPlots>=0
        for ii=1:n_carr
            figure; plot(real(ycic_duc_norm_x(1:size(cic_i_scaled_chan(1:end,ii),1),ii)));
            hold on; plot(cic_i_scaled_chan(1:end,ii),'r:'); hold off;
            figure; plot(imag(ycic_duc_norm_x(1:size(cic_q_scaled_chan(1:end,ii),1),ii)));
            hold on; plot(cic_q_scaled_chan(1:end,ii),'r:'); hold off;
        end
    end

    %% Check samples match
    failed=0;
    for ch=1:n_carr
        i_mismatches = 0; q_mismatches = 0;
        display(sprintf('Checking Carrier %d',ch));
        %for ii=1:size(cic_i_scaled_temp,1)
        for ii=1:size(cic_i_scaled_chan(1:end,1),1)
            if real(ycic_duc_norm_x(ii,ch)) ~= cic_i_scaled_chan(ii,ch)
                if (i_mismatches+q_mismatches)<50
                    display(sprintf('I value mismatch on Channel %d at position %d',ch,ii));
                end
                i_mismatches = i_mismatches+1;
            end
            if imag(ycic_duc_norm_x(ii,ch)) ~= cic_q_scaled_chan(ii,ch)
                if (i_mismatches+q_mismatches)<50
                    display(sprintf('Q value mismatch on Channel %d at position %d',ch,ii));
                end
                q_mismatches = q_mismatches+1;
            end
        end
        display(sprintf('Carrier %d: I mismatches = %d',ch,i_mismatches));
        display(sprintf('Carrier %d: Q mismatches = %d',ch,q_mismatches));
        display(sprintf('Carrier %d: Total mismatches = %d',ch,i_mismatches+q_mismatches));
        if (i_mismatches+q_mismatches)>0
            failed=1;
        end
    end
    clear ycic_duc_norm_x;
    if failed==1
        error('Output from CIC does not match Matlab model CIC output!')
    else
        display(sprintf('Matched CIC scaled output to Matlab model normalized CIC output! [Samples=%d]',size(cic_i_scaled_chan,1)))
    end
end
%% Clear variables
clear cic_i_scaled_dout cic_q_scaled_dout ycic_duc_norm;
clear failed ch i_mismatches q_mismatches;

%% Analyze Mixer input
if exist('mixer_din')
    mixer_din_start = min(find(mixer_din(:,3)>0));
    %mixer_din_start = 697;   % From analyzing mixer_din(:,3)

    %% Chop preceding zeroes and tail
    mixer_din_temp = (mixer_din(mixer_din_start:end-2,1)+j*mixer_din(mixer_din_start:end-2,2));

    %% Split CIC dout into channels and analyze
    mixer_din_chan = zeros(ceil(length(mixer_din_temp)/n_carr),n_carr);
    mixer_din_temp = [ mixer_din_temp ; zeros(numel(mixer_din_chan)-length(mixer_din_temp),1) ];
    for ii=1:n_carr
        mixer_din_chan(:,ii) = mixer_din_temp(ii:n_carr:end);
    end
    clear mixer_din_temp;
    mixer_din_chan = mixer_din_chan(1:end-1,:);   % Drop end row, may hold filler zeros

    if ShowPlots>=0
        for ii=1:n_carr
            figure;  plot(cic_i_scaled_chan(:,ii));
            hold on; plot(real(mixer_din_chan(1:size(cic_i_scaled_chan,1),ii)),'r:'); hold off;
            figure;  plot(cic_q_scaled_chan(:,ii));
            hold on; plot(imag(mixer_din_chan(1:size(cic_q_scaled_chan,1),ii)),'r:'); hold off;
        end
    end

    %% Check samples match
    failed=0;
    for ch=1:n_carr
        i_mismatches = 0; q_mismatches = 0;
        display(sprintf('Checking Carrier %d',ch));
        for ii=1:size(cic_i_scaled_chan(1:end,1),1)
            if cic_i_scaled_chan(ii,ch) ~= real(mixer_din_chan(ii,ch))
                if (i_mismatches+q_mismatches)<50
                    display(sprintf('I value mismatch on Channel %d at position %d',ch,ii));
                end
                i_mismatches = i_mismatches+1;
            end
            if cic_q_scaled_chan(ii,ch) ~= imag(mixer_din_chan(ii,ch))
                if (i_mismatches+q_mismatches)<50
                    display(sprintf('Q value mismatch on Channel %d at position %d',ch,ii));
                end
                q_mismatches = q_mismatches+1;
            end
        end
        display(sprintf('Carrier %d: I mismatches = %d',ch,i_mismatches));
        display(sprintf('Carrier %d: Q mismatches = %d',ch,q_mismatches));
        display(sprintf('Carrier %d: Total mismatches = %d',ch,i_mismatches+q_mismatches));
        if (i_mismatches+q_mismatches)>0
            failed=1;
        end
    end
    if failed==1
        error('Input to mixer does not match scaled output from CIC!')
    else
        display(sprintf('Matched mixer input to CIC scaled output! [Samples=%d]',size(mixer_din,1)))
    end
end
%% Clear variables
clear mixer_din mixer_din_chan;
clear failed ch i_mismatches q_mismatches;

%% Analyze DDS against model sinusoid
if exist('dds_sg')
    load results/sinusoid.mat
    dds_sg_start = 697;   % From analyzing dds_sg(:,3)
    sinusoid_start = 5;   % From analyzing dds_sg(:,3)

    chk_length=min((size(dds_sg,1)-dds_sg_start)/n_carr-n_carr,size(sinusoid,1)-1);
    dds_compare_i=zeros(chk_length,n_carr);
    dds_compare_q=zeros(chk_length,n_carr);
    for ii=1:n_carr
        dds_compare_i(:,ii)=dds_sg(dds_sg_start+ii-1:n_carr:dds_sg_start+ii-1+n_carr*chk_length-1,1)==real(sinusoid(sinusoid_start:sinusoid_start+chk_length-1,ii));
        dds_compare_q(:,ii)=dds_sg(dds_sg_start+ii-1:n_carr:dds_sg_start+ii-1+n_carr*chk_length-1,2)==imag(sinusoid(sinusoid_start:sinusoid_start+chk_length-1,ii));
    end

    if ShowPlots>=0
        for ii=1:n_carr
            figure;  plot(dds_sg(dds_sg_start+ii-1:n_carr:dds_sg_start+ii-1+n_carr*chk_length-1,1));
            hold on; plot(real(sinusoid(sinusoid_start:sinusoid_start+chk_length-1,ii)),'r:'); hold off;
            figure;  plot(dds_sg(dds_sg_start+ii-1:n_carr:dds_sg_start+ii-1+n_carr*chk_length-1,2));
            hold on; plot(imag(sinusoid(sinusoid_start:sinusoid_start+chk_length-1,ii)),'r:'); hold off;
        end
    end

    if size(find(dds_compare_i==0),1)>0 || size(find(dds_compare_i==0),1)>0 
        error('DDS output does not match Matlab model sinusoid!')
    else
        display(sprintf('Matched DDS output to Matlab model sinusoid! [Samples=%d]',size(dds_sg,1)))
    end
end
%% Clear variables
clear sinusoid dds_sg;
clear dds_compare_i dds_compare_q failed ch i_mismatches q_mismatches;

%% Analyze mixer output
if exist('mixed_sg')
    load results/upmixed.mat
    mixed_sg_start = min(find(mixed_sg(:,3)>0));
    %mixed_sg_start = 701;   % From analyzing mixed_sg(:,3)
    upmixed_start=5;

    %% Chop preceding zeroes and tail, and de-integerize
    mixed_sg_temp = (mixed(mixed_start:end-2,1)+j*mixed(mixed_start:end-2,2))*2^-41;

    %% Split CIC dout into channels and analyze
    mixed_sg_chan = zeros(ceil(length(mixed_sg_temp)/n_carr),n_carr);
    mixed_sg_temp = [ mixed_sg_temp ; zeros(numel(mixed_sg_chan)-length(mixed_sg_temp),1) ];
    for ii=1:n_carr
        mixed_sg_chan(:,ii) = mixed_sg_temp(ii:n_carr:end);
    end
    clear mixed_sg_temp;
    mixed_sg_chan = mixed_sg_chan(1:end-1,:);   % Drop end row, may hold filler zeros

    if ShowPlots>=0
        for ii=1:n_carr
            figure;  plot(real(upmixed(upmixed_start:upmixed_start-1+size(mixed_sg_chan(1:end,ii),1),ii)));
            hold on; plot(real(mixed_sg_chan(:,ii)),'r:'); hold off;
            figure;  plot(imag(upmixed(upmixed_start:upmixed_start-1+size(mixed_sg_chan(1:end,ii),1),ii)));
            hold on; plot(imag(mixed_sg_chan(:,ii)),'r:'); hold off;
        end
    end

    %% Check samples match
    failed=0;
    for ch=1:n_carr
        i_mismatches = 0; q_mismatches = 0;
        display(sprintf('Checking Carrier %d',ch));
        %for ii=1:size(cic_i_scaled_temp,1)
        for ii=1:size(mixed_sg_chan,1)
            if real(upmixed(ii+upmixed_start-1,ch)) ~= real(mixed_sg_chan(ii,ch))
                if (i_mismatches+q_mismatches)<50
                    display(sprintf('I value mismatch on Channel %d at position %d',ch,ii));
                end
                i_mismatches = i_mismatches+1;
            end
            if imag(upmixed(ii+upmixed_start-1,ch)) ~= imag(mixed_sg_chan(ii,ch))
                if (i_mismatches+q_mismatches)<50
                    display(sprintf('Q value mismatch on Channel %d at position %d',ch,ii));
                end
                q_mismatches = q_mismatches+1;
            end
        end
        display(sprintf('Carrier %d: I mismatches = %d',ch,i_mismatches));
        display(sprintf('Carrier %d: Q mismatches = %d',ch,q_mismatches));
        display(sprintf('Carrier %d: Total mismatches = %d',ch,i_mismatches+q_mismatches));
        if (i_mismatches+q_mismatches)>0
            failed=1;
        end
    end
    if failed==1
        error('Output from mixer does not match Matlab model mixer output!')
    else
        display(sprintf('Matched mixer output to Matlab model mixer output! [Samples=%d]',size(mixed,1)))
    end
end
%% Clear variables
clear mixed mixed_sg_chan upmixed;
clear failed ch i_mismatches q_mismatches;

%% Analyze multi-carrier summation output
if exist('mc_mixed_i')
    load results/mc_upmixed.mat
    %mc_mixed_start = min(find(mc_mixed_vout>0));
    mc_mixed_start = 178;   % From analyzing mc_mixed_vout
    mc_upmixed_start=5;     % First 4 outputs from CIC are zero

    %% Chop preceding zeroes and tail
    mc_mixed_i_temp = mc_mixed_i(mc_mixed_start:1:end-2);
    mc_mixed_q_temp = mc_mixed_q(mc_mixed_start:1:end-2);

    if ShowPlots>=0
        figure; plot(real(mc_upmixed(mc_upmixed_start:mc_upmixed_start-1+size(mc_mixed_i_temp,1))));
        hold on; plot(mc_mixed_i_temp,'r:'); hold off;
        figure; plot(imag(mc_upmixed(mc_upmixed_start:mc_upmixed_start-1+size(mc_mixed_q_temp,1))));
        hold on; plot(mc_mixed_q_temp,'r:'); hold off;
    end

    if ShowPlots>=1
        %spec=spectrum.welch('Hamming',spec_win*m_pfir*m_cfir*m_cic,50);
        spec=spectrum.burg(512);
        sg_mc_mixed_psd = psd(spec,mc_mixed_i_temp+j*mc_mixed_q_temp,'Fs',fs_cic,'Centerdc',true);
        figure;
        plot(sg_mc_mixed_psd.Frequencies/1e6,10.*log10(sg_mc_mixed_psd.Data/max(sg_mc_mixed_psd.Data)));
        title('Multi-Channel Power Spectral Density of Sysgen Implementation');
        xlabel('Frequency (MHz)');
        ylabel('Relative Power (dB/Hz)');
        grid on;
        hold on; plot_mcgsm_tx_mask(fs_cic/1e6,'MHz',carriers.'/1e6); hold off;
        axis([-3 3 -100 0]);
        
        sg_mc_mixed_fft=fftshift(fft(mc_mixed_i_temp+j*mc_mixed_q_temp));
        ff=1:length(sg_mc_mixed_fft);
        ff=ff*fs_dds/length(sg_mc_mixed_fft)-fs_dds/2;
        ff=ff/1e6;
        figure; plot(ff, 20*log10( abs( sg_mc_mixed_fft / max(abs(sg_mc_mixed_fft)) ) ) );
        title('Multi-Channel Power Spectral Density of Sysgen Implementation');
        xlabel('Frequency (MHz)');
        ylabel('Relative Power (dB/Hz)');
        grid on;
        hold on; plot_mcgsm_tx_mask(fs_cic/1e6,'MHz',carriers.'/1e6); hold off;
        axis([-3 3 -100 0]);
    end

    %% Check samples match
    i_mismatches = 0; q_mismatches = 0;
    for ii=1:size(mc_mixed_i_temp,1)
        if real(mc_upmixed(ii+mc_upmixed_start-1)) ~= mc_mixed_i_temp(ii)
            if (i_mismatches+q_mismatches)<50
                display(sprintf('I value mismatch on at position %d',ii));
            end
            i_mismatches = i_mismatches+1;
        end
        if imag(mc_upmixed(ii+mc_upmixed_start-1)) ~= mc_mixed_q_temp(ii)
            if (i_mismatches+q_mismatches)<50
                display(sprintf('Q value mismatch on at position %d',ii));
            end
            q_mismatches = q_mismatches+1;
        end
    end
    display(sprintf('Mixer: I mismatches = %d',i_mismatches));
    display(sprintf('Mixer: Q mismatches = %d',q_mismatches));
    display(sprintf('Mixer: Total mismatches = %d',i_mismatches+q_mismatches));
    if (i_mismatches+q_mismatches)>0
        error('Output from mixer does not match Matlab model output!')
    else
        display(sprintf('Matched mixer output to Matlab model output! [Samples=%d]',size(mc_mixed_i_temp,1)))
    end
end
%% Clear variables
clear mc_upmixed mc_mixed_i_dout mc_mixed_q_dout mc_mixed_i_temp mc_mixed_q_temp;
clear i_mismatches q_mismatches;
rmpath ../../model

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91在线观看地址| 韩国成人福利片在线播放| 日本韩国一区二区| 亚洲精品欧美二区三区中文字幕| 99精品1区2区| 婷婷综合另类小说色区| 91精品一区二区三区久久久久久| 麻豆国产91在线播放| 久久久久久综合| 不卡av电影在线播放| 亚洲精品久久7777| 欧美一区二区三区免费大片| 韩国精品一区二区| 亚洲美女免费视频| 欧美另类z0zxhd电影| 国产精品一级黄| 怡红院av一区二区三区| 欧美一级二级三级蜜桃| 风流少妇一区二区| 亚洲亚洲人成综合网络| 精品成人一区二区| 色偷偷成人一区二区三区91| 日韩av中文字幕一区二区| 久久婷婷综合激情| 欧美在线视频日韩| 国产露脸91国语对白| 亚洲综合图片区| 亚洲精品在线观看网站| 色成年激情久久综合| 精品一二线国产| 亚洲乱码国产乱码精品精小说 | 国产校园另类小说区| av电影在线不卡| 蜜桃视频一区二区| 亚洲精品一二三四区| 久久这里只有精品6| 欧美综合一区二区| 韩国女主播一区| 亚洲成av人片| 国产精品成人午夜| 日韩精品一区国产麻豆| 欧亚洲嫩模精品一区三区| 久久精工是国产品牌吗| 一区二区三区在线观看欧美| ww亚洲ww在线观看国产| 欧美色综合天天久久综合精品| 国产一区二区三区最好精华液| 亚洲综合色噜噜狠狠| 中文字幕欧美国产| 日韩女优av电影| 欧美人动与zoxxxx乱| 一本色道久久加勒比精品| 国产一区不卡在线| 日韩成人免费在线| 亚洲123区在线观看| 国产精品久久久久久久久免费樱桃| 91精品婷婷国产综合久久竹菊| 久久天堂av综合合色蜜桃网| 欧美精品自拍偷拍| 欧美综合在线视频| 色综合天天狠狠| 成人av免费网站| 国产精品456露脸| 精品一区二区三区蜜桃| 欧美aaaaaa午夜精品| 性感美女极品91精品| 亚洲成人在线网站| 亚洲国产va精品久久久不卡综合| 亚洲精品国产一区二区三区四区在线| 久久亚洲欧美国产精品乐播| 日韩精品一区二区三区swag | 99久久精品国产一区二区三区| 韩国成人精品a∨在线观看| 日日噜噜夜夜狠狠视频欧美人 | 日韩av在线发布| 午夜伦欧美伦电影理论片| 亚洲最新在线观看| 亚洲图片自拍偷拍| 爽好久久久欧美精品| 日韩不卡一区二区三区| 免费在线观看视频一区| 亚洲电影激情视频网站| 午夜精品福利一区二区三区蜜桃| 亚洲成人一二三| 日本视频免费一区| 国产尤物一区二区| 国产成人久久精品77777最新版本| 国产不卡高清在线观看视频| 成人高清av在线| 色香色香欲天天天影视综合网| 欧美性猛片aaaaaaa做受| 欧美三级中文字幕在线观看| 欧美乱妇一区二区三区不卡视频 | 精品国产一二三区| 国产视频一区在线播放| 国产精品色哟哟网站| 亚洲欧美日韩国产另类专区| 香蕉久久一区二区不卡无毒影院 | 91网站最新网址| 色诱视频网站一区| 欧美精品在线一区二区三区| 精品久久久久久久久久久久久久久久久| 欧美成人a在线| 国产精品的网站| 天堂午夜影视日韩欧美一区二区| 久久不见久久见免费视频7| 成人性生交大片免费| 欧美视频中文字幕| 久久综合网色—综合色88| 1区2区3区欧美| 日韩av一区二区在线影视| 国产精品一二一区| 色婷婷综合久久久中文字幕| 日韩一区二区免费高清| 欧美激情在线免费观看| 午夜精品久久久久久久99樱桃| 国内外精品视频| 在线视频欧美精品| 久久久久久久久蜜桃| 亚洲最大色网站| 国产成人精品一区二| 欧美日韩你懂的| 国产精品丝袜一区| 奇米888四色在线精品| 91香蕉视频mp4| 久久这里只有精品6| 午夜精品国产更新| 99在线热播精品免费| 日韩视频免费观看高清完整版在线观看 | 99精品欧美一区二区三区综合在线| 7777精品久久久大香线蕉| 国产精品国产三级国产有无不卡 | 99re亚洲国产精品| 精品少妇一区二区三区在线播放| 亚洲免费色视频| 风间由美一区二区三区在线观看 | 蜜桃传媒麻豆第一区在线观看| www.av精品| 国产无一区二区| 免费久久99精品国产| 欧美亚洲综合另类| 国产精品水嫩水嫩| 国产精品一区一区三区| 7777精品伊人久久久大香线蕉| 一区二区三区在线影院| 成人黄色大片在线观看| 久久久99精品免费观看不卡| 人禽交欧美网站| 欧美日韩精品免费观看视频| 亚洲乱码日产精品bd| 99re热视频这里只精品| 中文字幕免费观看一区| 国产精品99久久久久久久女警 | 国产精品丝袜黑色高跟| 国产伦精品一区二区三区免费| 5858s免费视频成人| 午夜欧美视频在线观看| 欧美一a一片一级一片| 一区二区三区视频在线看| 成人美女视频在线看| 日本一区二区综合亚洲| 国产福利91精品一区二区三区| 久久综合色8888| 国产福利电影一区二区三区| 久久久精品日韩欧美| 国产福利91精品一区| 中文字幕精品三区| 成人动漫视频在线| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 欧美岛国在线观看| 麻豆成人久久精品二区三区红 | 日本一区二区三区免费乱视频| 国产精品一区二区男女羞羞无遮挡| 26uuu国产一区二区三区| 国内精品免费**视频| 日本一区二区高清| 91小宝寻花一区二区三区| 一区二区三区日韩精品视频| 欧美系列在线观看| 日本不卡123| 337p日本欧洲亚洲大胆精品 | 亚洲精品在线免费观看视频| 久久99精品国产| 久久精品视频在线免费观看 | 欧美色区777第一页| 视频一区在线播放| 精品精品国产高清a毛片牛牛| 国内精品伊人久久久久影院对白| 国产欧美日韩在线| 91美女在线视频| 日韩国产精品大片| 国产亚洲福利社区一区| 99久久久久久99| 日韩av在线播放中文字幕| 久久综合中文字幕| 色婷婷av一区| 久久精品国产一区二区三| 中文字幕成人在线观看| 欧美日韩一区二区三区视频| 久久99久久久久|