% Test_MDL_TUI
% 2013 04 15
% Version 0.1
%%
close all; clc;warning off;
%% parameters set
pulse_mode = 1; % '1'为连续波,'0'为脉冲
noise_mode = 0; % '1'为加白噪声,'0'为不加噪声
fs = 2400e6; % 采样率
fc = 400e6; % 中心频率
B = 0e6; % 信号带宽
Tp = 10e-6; % 信号脉宽
amp = 2^7 -1;
Tp = round(fs*Tp/8);
fl = 8*fc/fs;
fh = fl;
phase0 = 2*pi*0*fc/fs;
phase1 = 2*pi*1*fc/fs;
phase2 = 2*pi*2*fc/fs;
phase3 = 2*pi*3*fc/fs;
phase4 = 2*pi*4*fc/fs;
phase5 = 2*pi*5*fc/fs;
phase6 = 2*pi*6*fc/fs;
phase7 = 2*pi*7*fc/fs;
SNR_dB = 50; % 信噪比, dB
sp_amp = 1;
delta = sqrt((sp_amp/sqrt(2))^2 / (10^(SNR_dB/10)));
%% NOISE
cj=sqrt(-1);
debug_en = 0;
% 初始化参数设置
para.N = 16*1024; % FFT点数
para.Fs = 0;
para.BW = 0;
noise_bw = [100 1e3 2e3 2.5e3 3e3 4e3 5e3 10e3 15e3 20e3 25e3 30e3 35e3 40e3 45e3 50e3 55e3 60e3 70e3 80e3 90e3 100e3 150e3 200e3 240e3 280e3 300e3 350e3 380e3 400e3]; % 噪声带宽(30种)
Fs = zeros(1,30);
Fs(1:10) = (300e6)/64/64;
Fs(11:20) = (300e6)/64/4;
Fs(21:30) = (300e6)/64/2;
rph = rand(1, para.N); % get random location
rph = (2*pi*rph); % sure rand_fct between [0, 2*pi]
wo = 2*pi*(0:para.N-1);
para.Fs = Fs(1);
para.BW = round(para.N*noise_bw(1)/para.Fs/2);
%确定噪声的频响曲线
F_fig = zeros(1,para.N);
F_fig(1:para.BW) = 1;F_fig(1+para.N-para.BW:para.N) = 1;
gause_factor = exp(cj*(wo+rph)); % 产生噪声模板
sig = ifft(gause_factor .* F_fig).';
sig =sig/max(max(abs(real(sig))),max(abs(imag(sig))));
sig = (2^11-1)*(sig); % 归一化
I_100 = floor(real(sig));
Q_100 = floor(imag(sig));
para.Fs = Fs(2);
para.BW = round(para.N*noise_bw(2)/para.Fs/2);
%确定噪声的频响曲线
F_fig = zeros(1,para.N);
F_fig(1:para.BW) = 1;F_fig(1+para.N-para.BW:para.N) = 1;
gause_factor = exp(cj*(wo+rph)); % 产生噪声模板
sig = ifft(gause_factor .* F_fig).';
sig =sig/max(max(abs(real(sig))),max(abs(imag(sig))));
sig = (2^11-1)*(sig); % 归一化
I_1k = floor(real(sig));
Q_1k = floor(imag(sig));
para.Fs = Fs(3);
para.BW = round(para.N*noise_bw(3)/para.Fs/2);
%确定噪声的频响曲线
F_fig = zeros(1,para.N);
F_fig(1:para.BW) = 1;F_fig(1+para.N-para.BW:para.N) = 1;
gause_factor = exp(cj*(wo+rph)); % 产生噪声模板
sig = ifft(gause_factor .* F_fig).';
sig =sig/max(max(abs(real(sig))),max(abs(imag(sig))));
sig = (2^11-1)*(sig); % 归一化
I_2k = floor(real(sig));
Q_2k = floor(imag(sig));
para.Fs = Fs(4);
para.BW = round(para.N*noise_bw(4)/para.Fs/2);
%确定噪声的频响曲线
F_fig = zeros(1,para.N);
F_fig(1:para.BW) = 1;F_fig(1+para.N-para.BW:para.N) = 1;
gause_factor = exp(cj*(wo+rph)); % 产生噪声模板
sig = ifft(gause_factor .* F_fig).';
sig =sig/max(max(abs(real(sig))),max(abs(imag(sig))));
sig = (2^11-1)*(sig); % 归一化
I_2_5k = floor(real(sig));
Q_2_5k = floor(imag(sig));
para.Fs = Fs(5);
para.BW = round(para.N*noise_bw(5)/para.Fs/2);
%确定噪声的频响曲线
F_fig = zeros(1,para.N);
F_fig(1:para.BW) = 1;F_fig(1+para.N-para.BW:para.N) = 1;
gause_factor = exp(cj*(wo+rph)); % 产生噪声模板
sig = ifft(gause_factor .* F_fig).';
sig =sig/max(max(abs(real(sig))),max(abs(imag(sig))));
sig = (2^11-1)*(sig); % 归一化
I_3k = floor(real(sig));
Q_3k = floor(imag(sig));
para.Fs = Fs(6);
para.BW = round(para.N*noise_bw(6)/para.Fs/2);
%确定噪声的频响曲线
F_fig = zeros(1,para.N);
F_fig(1:para.BW) = 1;F_fig(1+para.N-para.BW:para.N) = 1;
gause_factor = exp(cj*(wo+rph)); % 产生噪声模板
sig = ifft(gause_factor .* F_fig).';
sig =sig/max(max(abs(real(sig))),max(abs(imag(sig))));
sig = (2^11-1)*(sig); % 归一化
I_4k = floor(real(sig));
Q_4k = floor(imag(sig));
para.Fs = Fs(7);
para.BW = round(para.N*noise_bw(7)/para.Fs/2);
%确定噪声的频响曲线
F_fig = zeros(1,para.N);
F_fig(1:para.BW) = 1;F_fig(1+para.N-para.BW:para.N) = 1;
gause_factor = exp(cj*(wo+rph)); % 产生噪声模板
sig = ifft(gause_factor .* F_fig).';
sig =sig/max(max(abs(real(sig))),max(abs(imag(sig))));
sig = (2^11-1)*(sig); % 归一化
I_5k = floor(real(sig));
Q_5k = floor(imag(sig));
para.Fs = Fs(8);
para.BW = round(para.N*noise_bw(8)/para.Fs/2);
%确定噪声的频响曲线
F_fig = zeros(1,para.N);
F_fig(1:para.BW) = 1;F_fig(1+para.N-para.BW:para.N) = 1;
gause_factor = exp(cj*(wo+rph)); % 产生噪声模板
sig = ifft(gause_factor .* F_fig).';
sig =sig/max(max(abs(real(sig))),max(abs(imag(sig))));
sig = (2^11-1)*(sig); % 归一化
I_10k = floor(real(sig));
Q_10k = floor(imag(sig));
para.Fs = Fs(9);
para.BW = round(para.N*noise_bw(9)/para.Fs/2);
%确定噪声的频响曲线
F_fig = zeros(1,para.N);
F_fig(1:para.BW) = 1;F_fig(1+para.N-para.BW:para.N) = 1;
gause_factor = exp(cj*(wo+rph)); % 产生噪声模板
sig = ifft(gause_factor .* F_fig).';
sig =sig/max(max(abs(real(sig))),max(abs(imag(sig))));
sig = (2^11-1)*(sig); % 归一化
I_15k = floor(real(sig));
Q_15k = floor(imag(sig));
para.Fs = Fs(10);
para.BW = round(para.N*noise_bw(10)/para.Fs/2);
%确定噪声的频响曲线
F_fig = zeros(1,para.N);
F_fig(1:para.BW) = 1;F_fig(1+para.N-para.BW:para.N) = 1;
gause_factor = exp(cj*(wo+rph)); % 产生噪声模板
sig = ifft(gause_factor .* F_fig).';
sig =sig/max(max(abs(real(sig))),max(abs(imag(sig))));
sig = (2^11-1)*(sig); % 归一化
I_20k = floor(real(sig));
Q_20k = floor(imag(sig));
para.Fs = Fs(11);
para.BW = round(para.N*noise_bw(11)/para.Fs/2);
%确定噪声的频响曲线
F_fig = zeros(1,para.N);
F_fig(1:para.BW) = 1;F_fig(1+para.N-para.BW:para.N) = 1;
gause_factor = exp(cj*(wo+rph)); % 产生噪声模板
sig = ifft(gause_factor .* F_fig).';
sig =sig/max(max(abs(real(sig))),max(abs(imag(sig))));
sig = (2^11-1)*(sig); % 归一化
I_25k = floor(real(sig));
Q_25k = floor(imag(sig));
para.Fs = Fs(12);
para.BW = round(para.N*noise_bw(12)/para.Fs/2);
%确定噪声的频响曲线
F_fig = zeros(1,para.N);
F_fig(1:para.BW) = 1;F_fig(1+para.N-para.BW:para.N) = 1;
gause_factor = exp(cj*(wo+rph)); % 产生噪声模板
sig = ifft(gause_factor .* F_fig).';
sig =sig/max(max(abs(real(sig))),max(abs(imag(sig))));
sig = (2^11-1)*(sig); % 归一化
I_30k = floor(real(sig));
Q_30k = floor(imag(sig));
para.Fs = Fs(13);
para.BW = round(para.N*noise_bw(13)/para.Fs/2);
%确定噪声的频响曲线
F_fig = zeros(1,para.N);
F_fig(1:para.BW) = 1;F_fig(1+para.N-para.BW:para.N) = 1;
gause_factor = exp(cj*(wo+rph)); % 产生噪声模板
sig = ifft(gause_factor .* F_fig).';
sig =sig/max(max(abs(real(sig))),max(abs(imag(sig))));
sig = (2^11-1)*(sig); % 归一化
I_35k = floor(real(sig));
Q_35k = floor(imag(sig));
para.Fs = Fs(14);
para.BW = round(para.N*noise_bw(14)/para.Fs/2);
%确定噪声的频响曲线
F_fig = zeros(1,para.N);
F_fig(1:para.BW) = 1;F_fig(1+para.N-para.BW:para.N) = 1;
gause_factor = exp(cj*(wo+rph)); % 产生噪声模板
sig = ifft(gause_factor .* F_fig).';
sig =sig/max(max(abs(real(sig))),max(abs(imag(sig))));
sig = (2^11-1)*(sig); % 归一化
I_40k = floor(real(sig));
Q_40k = floor(imag(sig));
para.Fs = Fs(15);
para.BW = round(para.N*noise_bw(15)/para.Fs/2);
%确定噪声的频响曲线
F_fig = zeros(1,para.N);
F_fig(1:para.BW) = 1;F_fig(1+para.N-para.BW:para.N) = 1;
gause_factor = exp(cj*(wo+rph)); % 产生噪声模板
sig = ifft(gause_factor .* F_fig).';
sig =sig/max(max(abs(real(sig))),max(abs(imag(sig))));
sig = (2^11-1)*(sig); % 归一化
I_45k = floor(real(sig));
Q_45k = floor(imag(sig));
para.Fs = Fs(16);
para.BW = round(para.N*noise_bw(16)/para.Fs/2);
%确定噪声的频响曲线
F_fig = zeros(1,para.N);
F_fig(1:para.BW) = 1;F_fig(1+para.N-para.BW:para.N) = 1;
gause_factor = exp(cj*(wo+rph)); % 产生噪声模板
sig = ifft
评论0