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

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

?? analyze_duc.m

?? This is GMS down upper converter and down converter in simulink. you may understand the structure in
?? M
?? 第 1 頁 / 共 2 頁
字號:
ShowPlots=4;
spec_win = 1024;  % Window for Welch spectral estimation
addpath ../../model

%% Check GMSK output
if exist('gmsk_dout')
    load results/gmsk_data_comp.mat;
    if ShowPlots>=4
        figure; plot(real(gmsk_data_comp(1:size(gmsk_dout,1),1)));
        hold on ; plot(gmsk_dout(:,1),'r:'); hold off;
    end
    if real(gmsk_data_comp(1:size(gmsk_dout,1),1)) == gmsk_dout(:,1)
        display('Matched GMSK data to GMSK output!')
    else
        error('Output from GMSK is different than expected!')
    end
end

%% Check CFIR input
if exist('cfir_din') && exist('gmsk_dout')
    if ShowPlots>=4
        figure; plot(gmsk_dout(1:end-1,1));
        hold on ; plot(cfir_din(1:size(gmsk_dout,1)-1,1),'r:'); hold off;
    end
    %cfir_diff = gmsk_dout(1:end-1,1) - cfir_din(1:size(gmsk_dout,1)-1,1);
    if gmsk_dout(1:end-1,1) == cfir_din(1:size(gmsk_dout,1)-1,1)
        display('Matched GMSK output to CFIR data in!')
        clear gmsk_data_comp gmsk_dout cfir_diff;
    else
        error('Input to CFIR is different than expected!')
    end
end

%% Analyze CFIR sample output
if exist('cfir_dout')
    load results/yc_duc.mat;
    %cfir_start = min(find(cfir_vout>0));
    cfir_start = 40;   % From analyzing cfir_vout
    channels = 8;      % Number of channels to split

    %% Chop preceding zeroes and tail
    cfir_temp = cfir_dout(cfir_start:end-2);

    %% Split CFIR dout into channels and analyze
    cfir_chan = zeros(ceil(length(cfir_temp)/channels),channels);
    cfir_temp = [ cfir_temp ; zeros(numel(cfir_chan)-length(cfir_temp),1) ];
    for ii=1:channels
        cfir_chan(:,ii) = cfir_temp(ii:channels:end);
    end
    clear cfir_temp;
    cfir_chan = cfir_chan(1:end-1,:);   % Drop end row, may hold filler zeros
    %figure; plot(real(yc_duc(1:100,1)));
    %hold on ; plot(real(yc_quant(1:100,1)),'r:'); hold off;
    %figure; plot(real(yc_duc(1:100,1)));
    %hold on ; plot(cfir_chan(1:100,1),'r:'); hold off;
    if ShowPlots>=4
        for ii=1:channels
            if mod(ii,2)==1
                figure; plot(real(yc_duc(1:size(cfir_chan(1:end,ii),1),ceil(ii/2))));
            else
                figure; plot(imag(yc_duc(1:size(cfir_chan(1:end,ii),1),ceil(ii/2))));
            end
            hold on; plot(cfir_chan(1:end,ii),'r:'); hold off;
        end
    end

    %% Check samples match
    failed=0;
    for ch=1:4
        i_mismatches = 0; q_mismatches = 0;
        display(sprintf('Checking Carrier %d',ch));
        %for ii=1:size(cfir_temp,1)
        for ii=1:size(cfir_chan(1:end,1),1)
            if real(yc_duc(ii,ch)) ~= cfir_chan(ii,2*ch-1)
                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(yc_duc(ii,ch)) ~= cfir_chan(ii,2*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 CFIR does not match Matlab model CFIR output!')
    else
        display(sprintf('Matched CFIR output to Matlab model CFIR output! [Samples=%d]',size(cfir_chan,1)))
        clear cfir_dout cfir_chan yc_duc;
    end
end
%% Clear variables
clear failed ch i_mismatches q_mismatches;

%% Analyze Scaler sample output
if exist('scaler_dout')
    load results/scaled_yc_duc.mat;
    %scaler_start = min(find(scaler_vout>0));
    scaler_start = 45;   % From analyzing scaler_vout
    channels = 8;        % Number of channels to split

    %% Chop preceding zeroes and tail
    scaler_temp = scaler_dout(scaler_start:end-2);

    %% Split Scaler dout into channels and analyze
    scaler_chan = zeros(ceil(length(scaler_temp)/channels),channels);
    scaler_temp = [ scaler_temp ; zeros(numel(scaler_chan)-length(scaler_temp),1) ];
    for i=1:channels
        scaler_chan(:,i) = scaler_temp(i:channels:end);
    end
    clear scaler_temp;
    scaler_chan = scaler_chan(1:end-1,:);   % Drop end row, may hold filler zeros
    if ShowPlots>=4
        for i=1:channels
            if mod(i,2)==1
                figure; plot(real(scaled_yc_duc(1:size(scaler_chan(1:end,i),1),ceil(i/2))));
            else
                figure; plot(imag(scaled_yc_duc(1:size(scaler_chan(1:end,i),1),ceil(i/2))));
            end
            hold on; plot(scaler_chan(1:end,i),'r:'); hold off;
        end
    end

    %% Check samples match
    for ch=1:4
        failed=0;
        i_mismatches = 0; q_mismatches = 0;
        display(sprintf('Checking Scaler Carrier %d',ch));
        %for i=1:size(scaler_temp,1)
        for i=1:size(scaler_chan(1:end,1),1)
            if real(scaled_yc_duc(i,ch)) ~= scaler_chan(i,2*ch-1)
                if (i_mismatches+q_mismatches)<50
                    display(sprintf('I value mismatch on Channel %d at position %d',ch,i));
                end
                i_mismatches = i_mismatches+1;
            end
            if imag(scaled_yc_duc(i,ch)) ~= scaler_chan(i,2*ch)
                if (i_mismatches+q_mismatches)<50
                    display(sprintf('Q value mismatch on Channel %d at position %d',ch,i));
                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 scaler does not match Matlab model scaler output!')
    else
        display(sprintf('Matched scaler output to Matlab model scaler output! [Samples=%d]',size(scaler_chan,1)));
        clear scaler_dout scaler_chan failed;
    end
end
%% Clear variables
clear failed ch i_mismatches q_mismatches;

%% Analyze CIC input buffer output
if exist('cic_i_ipbuff_dout')
    %cic_ipbuff_start = min(find(cic_ipbuff_vout>0));
    cic_ipbuff_start = 419;   % From analyzing cic_ipbuff_vout

    %% Chop preceding zeroes and tail
    cic_i_ipbuff_temp = cic_i_ipbuff_dout(cic_ipbuff_start:end-2);
    cic_q_ipbuff_temp = cic_q_ipbuff_dout(cic_ipbuff_start:end-2);

    %% Adjust for rate change for CIC input and clock oversampling
    cic_i_ipbuff_temp2 = [];
    cic_q_ipbuff_temp2 = [];
    for ii=1:m_cic*clk_os:size(cic_i_ipbuff_temp)-n_carr
        %display(sprintf('Index %d',ii));
        cic_i_ipbuff_temp2 = [ cic_i_ipbuff_temp2; cic_i_ipbuff_temp(ii:ii+n_carr-1) ];
        cic_q_ipbuff_temp2 = [ cic_q_ipbuff_temp2; cic_q_ipbuff_temp(ii:ii+n_carr-1) ];
    end
    clear cic_i_ipbuff_temp cic_q_ipbuff_temp;

    %% Split cic_ipbuff_dout into channels and analyze
    cic_i_ipbuff_chan = zeros(ceil(length(cic_i_ipbuff_temp2)/n_carr),n_carr);
    cic_q_ipbuff_chan = zeros(ceil(length(cic_q_ipbuff_temp2)/n_carr),n_carr);
    cic_i_ipbuff_temp2 = [ cic_i_ipbuff_temp2 ; zeros(numel(cic_i_ipbuff_chan)-length(cic_i_ipbuff_temp2),1) ];
    cic_q_ipbuff_temp2 = [ cic_q_ipbuff_temp2 ; zeros(numel(cic_q_ipbuff_chan)-length(cic_q_ipbuff_temp2),1) ];
    for ii=1:n_carr
        cic_i_ipbuff_chan(:,ii) = cic_i_ipbuff_temp2(ii:n_carr:end);
        cic_q_ipbuff_chan(:,ii) = cic_q_ipbuff_temp2(ii:n_carr:end);
    end
    clear cic_i_ipbuff_temp2 cic_q_ipbuff_temp2;
    cic_i_ipbuff_chan = cic_i_ipbuff_chan(1:end-1,:);   % Drop end row, may hold filler zeros
    cic_q_ipbuff_chan = cic_q_ipbuff_chan(1:end-1,:);   % Drop end row, may hold filler zeros
    if ShowPlots>=0
        for ii=1:n_carr
            figure; plot(real(scaled_yc_duc(1:size(cic_i_ipbuff_chan(1:end,ii),1),ii)));
            hold on; plot(cic_i_ipbuff_chan(1:end,ii),'r:'); hold off;
            figure; plot(imag(scaled_yc_duc(1:size(cic_q_ipbuff_chan(1:end,ii),1),ii)));
            hold on; plot(cic_q_ipbuff_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_ipbuff_temp,1)
        for ii=1:size(cic_i_ipbuff_chan(1:end,1),1)
            if real(scaled_yc_duc(ii,ch)) ~= cic_i_ipbuff_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(scaled_yc_duc(ii,ch)) ~= cic_q_ipbuff_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 CIC input buffer does not match Matlab model Scaler output!')
    else
        display(sprintf('Matched CIC input buffer output to Matlab model Scaler output! [Samples=%d]',size(cic_i_ipbuff_chan,1)));
        clear scaled_yc_duc cic_i_ipbuff_dout cic_q_ipbuff_dout cic_i_ipbuff_chan cic_q_ipbuff_chan;
    end
end
%% Clear variables
clear failed ch i_mismatches q_mismatches;

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

    %% Chop preceding zeroes and tail
    cic_i_temp = cic_i_dout(cic_start:end-2);
    cic_q_temp = cic_q_dout(cic_start:end-2);

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

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

    % Trim leading zeros from Matlab model output
    ycic_duc_x = ycic_duc(5:5+size(cic_i_chan(1:end,ii),1),:);

    if ShowPlots>=0
        for ii=1:n_carr
            figure; plot(real(ycic_duc_x(1:size(cic_i_chan(1:end,ii),1),ii)));
            hold on; plot(cic_i_chan(1:end,ii),'r:'); hold off;
            figure; plot(imag(ycic_duc_x(1:size(cic_q_chan(1:end,ii),1),ii)));
            hold on; plot(cic_q_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_temp,1)
        for ii=1:size(cic_i_chan(1:end,1),1)
            if real(ycic_duc_x(ii,ch)) ~= cic_i_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_x(ii,ch)) ~= cic_q_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_x;
    if failed==1
        error('Output from CIC does not match Matlab model CIC output!')
    else
        display(sprintf('Matched CIC output to Matlab model CIC output! [Samples=%d]',size(cic_i_chan,1)));

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人黄色小视频在线观看| 亚洲香肠在线观看| 国产盗摄精品一区二区三区在线| 欧美大片顶级少妇| 老司机精品视频在线| 欧美xxxxx牲另类人与| 激情综合色综合久久综合| 精品国一区二区三区| 国产麻豆视频一区二区| 国产精品无人区| 在线视频国内一区二区| 婷婷国产在线综合| 久久久久久久av麻豆果冻| 国产成人精品1024| 亚洲人妖av一区二区| 欧美日韩视频在线一区二区| 日韩中文字幕亚洲一区二区va在线| 午夜精品福利在线| 成人a区在线观看| 亚洲国产成人91porn| 精品国产免费一区二区三区四区| 国产麻豆精品视频| 亚洲免费观看高清完整版在线观看熊| 欧美精品一级二级三级| 国产成人综合在线观看| 一区二区三区高清不卡| 日韩欧美在线不卡| www.欧美日韩国产在线| 日本成人在线不卡视频| 国产农村妇女毛片精品久久麻豆| 在线影院国内精品| 狠狠色综合播放一区二区| 亚洲色图制服诱惑| 日韩精品中文字幕一区| 91无套直看片红桃| 久久国产三级精品| 成人免费一区二区三区视频| 欧美一级在线免费| 91美女片黄在线| 激情五月婷婷综合网| 亚洲一区二区三区四区不卡| 国产肉丝袜一区二区| 在线免费不卡电影| 成人看片黄a免费看在线| 日本不卡一区二区三区| 亚洲女同一区二区| 久久精品夜色噜噜亚洲a∨| 91.xcao| 91在线免费看| 国产原创一区二区| 婷婷久久综合九色综合绿巨人| 亚洲同性同志一二三专区| 精品99999| 日韩一区二区在线免费观看| 欧美羞羞免费网站| 99re这里都是精品| 成人综合婷婷国产精品久久蜜臀 | 欧美精品99久久久**| 91网站最新网址| 国产精品一区在线观看你懂的| 免费成人在线网站| 天天亚洲美女在线视频| 亚洲国产精品久久人人爱蜜臀| 中文字幕一区二区三区精华液| 久久精品男人的天堂| 精品久久国产老人久久综合| 欧美一区二区精品在线| 欧美日韩情趣电影| 欧美日韩免费一区二区三区| 色999日韩国产欧美一区二区| 成人免费毛片aaaaa**| 国产另类ts人妖一区二区| 国内精品国产三级国产a久久| 久久99精品久久久久| 美日韩一级片在线观看| 麻豆精品一区二区综合av| 日本一区中文字幕 | 日韩精品中文字幕在线一区| 欧美一区二区三区视频免费播放| 欧美日韩国产一区二区三区地区| 欧洲视频一区二区| 精品视频999| 欧美一区二区在线免费播放| 欧美一级黄色片| 日韩美女一区二区三区| 久久久久久一级片| 欧美国产乱子伦| 亚洲精品视频一区| 亚洲国产精品一区二区久久| 日韩在线卡一卡二| 久久99久久久欧美国产| 国产在线播放一区二区三区| 成人精品国产福利| 日本伦理一区二区| 91麻豆精品国产综合久久久久久 | 91视频免费播放| 欧美午夜不卡视频| 91精品国产综合久久精品麻豆| 欧美一级欧美一级在线播放| 精品一区二区在线观看| 丝袜美腿高跟呻吟高潮一区| 美女mm1313爽爽久久久蜜臀| 国产精品99久久久| 94-欧美-setu| 欧美日韩成人综合在线一区二区| 欧美成人猛片aaaaaaa| 国产日本亚洲高清| 亚洲激情五月婷婷| 另类综合日韩欧美亚洲| 风流少妇一区二区| 欧美系列日韩一区| xnxx国产精品| 亚洲精品国产无天堂网2021| 肉丝袜脚交视频一区二区| 精品一区二区三区久久| 99视频一区二区三区| 欧美日韩高清影院| 日本一区二区免费在线观看视频| 一个色综合av| 国产在线精品一区二区夜色 | 在线一区二区观看| 日韩免费高清视频| 亚洲人xxxx| 极品尤物av久久免费看| 91在线视频免费观看| 欧美xxxxxxxxx| 亚洲自拍偷拍网站| 国产成人av影院| 欧美日韩一区不卡| 国产精品久久久久久久午夜片 | 国产成人鲁色资源国产91色综| 色欧美乱欧美15图片| 久久影院视频免费| 无吗不卡中文字幕| 不卡的av中国片| 26uuu久久天堂性欧美| 亚洲成人资源网| 99re免费视频精品全部| 精品处破学生在线二十三| 亚洲成人7777| 91天堂素人约啪| 中文字幕乱码日本亚洲一区二区| 日本欧美一区二区在线观看| 91久久精品日日躁夜夜躁欧美| 久久久美女毛片| 激情图区综合网| 日韩欧美电影在线| 视频一区二区三区入口| 色综合天天综合网国产成人综合天| 久久久久久久久久美女| 免费欧美在线视频| 7777精品伊人久久久大香线蕉完整版 | 久久综合久色欧美综合狠狠| 亚洲3atv精品一区二区三区| 一本色道久久综合精品竹菊| 欧美国产成人精品| 国产精品综合久久| 亚洲精品一区二区三区蜜桃下载| 日本成人在线一区| 日韩一级二级三级精品视频| 香蕉久久夜色精品国产使用方法 | 亚洲第一av色| 欧美日韩三级一区二区| 亚洲综合在线观看视频| 一本在线高清不卡dvd| 国产精品国产三级国产| 成人午夜视频网站| 欧美激情在线观看视频免费| 国产电影一区二区三区| 国产性色一区二区| 成人三级在线视频| 国产精品视频九色porn| 成人国产精品免费观看视频| 欧美国产日产图区| 成人自拍视频在线| 中文字幕亚洲不卡| 欧美这里有精品| 亚洲电影视频在线| 欧美一区二区视频在线观看| 免费观看日韩av| 久久先锋影音av鲁色资源| 国产成人日日夜夜| 亚洲欧洲中文日韩久久av乱码| 91免费看视频| 亚洲福利视频三区| 欧美一区二区在线看| 国产自产2019最新不卡| 日本一区二区三区四区在线视频| 成人av小说网| 亚洲第一久久影院| 精品动漫一区二区三区在线观看| 粉嫩一区二区三区在线看| 最新中文字幕一区二区三区| 欧美亚洲国产怡红院影院| 久久精品国产亚洲高清剧情介绍| 久久精品人人做人人爽人人| 色丁香久综合在线久综合在线观看| 亚洲一区在线电影| 精品久久国产老人久久综合| 91在线你懂得|