資源簡介
、下變頻器=DDC+ADC+DDS;2、帶通采樣原理;3、采樣頻率選擇要設計的6個問題;4、數字下變頻中DDS設計,DDC算法,ADC器件選擇;5、數字下變頻仿真。
完成高頻信號的數字下變頻仿真,NCO,CIC,AIR等模塊的設計,有完整的代碼,成功仿真
代碼片段和文件信息
%DDC仿真程序
clear?all;close?all;?clc
%%?參數設置
fs=5e6;????????%fs=5MHz?輸入采樣頻率為5MHz
Ts=1/fs;????????%Ts為fs的倒數表示輸入信號的采樣間隔Ts
Tp=0.5;??????????%信號的長度是0.05s
N=Tp*fs;????????%N表示采樣點數
t=-Tp/2:Tp/N:Tp/2-Tp/N;???????%t的取值范圍從0開始增加到Tp-Tp/N
f0=30e6;???????????%輸入的AM信號的載波頻率
f1=1e3;???????????%調制信號的頻率
%==============產生A/D采樣后的信號,相當于A/D變換器============================
x=cos(2*pi*f1*t).*cos(2*pi*f0*t);??%對AM信號進行采樣
figure(1);
plot(tx);
grid?on;
y=1/N*fftshift(fft(x));????%做出A/D變換后信號的頻譜
mag=abs(y);
f=(0:N-1)*fs/N-fs/2;
figure(2);
plot(f10*log10(mag));
title(‘載頻在30MHZ的AM信號經過采樣后信號的頻譜‘);
xlabel(‘頻率(Hz)‘);
ylabel(‘幅度(dB)‘);
grid?on;
%===================NCO模塊=========================
t=0:Tp/N:Tp-Tp/N;?
NCO_sin=sin(2*pi*f0*t);??%NCO產生余弦信號
NCO_cos=cos(2*pi*f0*t);??%NCO產生正弦信號
%===================乘法器模塊================================================
I_out=NCO_cos.*x;???????%得到同相信號I_out,并做出頻譜
y_I=1/N*fftshift(fft(I_out));
mag_I=abs(y_I);
f=(0:N-1)*fs/N-fs/2;
figure(3);
plot(f10*log10(mag_I));
title(‘同相信號Iout的頻譜‘);
xlabel(‘頻率(Hz)‘);
ylabel(‘幅度(dB)‘);
grid?on;
Q_out=NCO_sin.*x;???????%得到正交信號Q_out,并做出頻譜
y_Q=1/N*fftshift(fft(Q_out));
mag_Q=abs(y_Q);
f=(0:N-1)*fs/N-fs/2;
figure(4);
plot(f10*log10(mag_Q));
title(‘正交信號Qout的頻譜‘);
xlabel(‘頻率(Hz)‘);
ylabel(‘幅度(dB)‘);
grid?on;
%====================做出I_out+jQ_out信號的頻譜=====================================
OUT=zeros(1N);
OUT=I_out+j*Q_out;????????%合成出信號I_out+jQ_out
y_OUT=1/N*fftshift(fft(OUT));????
mag_y_OUT=abs(y_OUT);
f=(0:N-1)*fs/N-fs/2;
figure(5);
plot(f10*log10(mag_y_OUT));
title(‘Iout+jQout信號的頻譜‘);
xlabel(‘頻率(Hz)‘);
ylabel(‘幅度(dB)‘);
grid?on;
%===================凱塞窗FIR數字濾波器=====================================
c=kaiserord([1.2e3?1.5e3][1?0][0.01?0.1]fs‘cell‘)
[ba]=fir1(c{:});
figure(6);
freqz(ba5120fs);???%得到FIR濾波器的幅頻響應
title(‘線性相位低通FIR濾波器的頻率響應‘);
grid?on;
%==================同相信號I_out,正交信號Q_out經過FIR濾波器===========================
I_OUT=filter(baI_out);????????????%同相信號I_out經過FIR濾波器
Q_OUT=filter(baQ_out);?????????????%正交信號Q_out經過FIR濾波器
Y_I=1/N*fftshift(fft(I_OUT));
MAG_I=abs(Y_I);
M=length(I_OUT);
f=(0:M-1)*fs/M-fs/2;
figure(7);
plot(f10*log10(MAG_I));
title(‘經過FIR濾波器的同相信號IOUT的頻譜‘);
xlabel(‘頻率(Hz)‘);
ylabel(‘幅度(dB)‘);
grid?on;
Y_Q=1/N*fftshift(fft(Q_OUT));
MAG_Q=abs(Y_Q);
f=(0:M-1)*fs/M-fs/2;
figure(8);
plot(f10*log10(MAG_Q));
title(‘經過FIR濾波器的正交信號QOUT的頻譜‘);
xlabel(‘頻率(Hz)‘);
ylabel(‘幅度(dB)‘);
grid?on;
%====================做出I_OUT+jQ_OUT信號的頻譜=====================================
IQ_OUT=zeros(1M);
IQ_OUT=I_OUT+j*Q_OUT;????????%合成出信號I_OUT+jQ_OUT
Y_OUT=1/N*fftshift(fft(IQ_OUT));????
MAG_Y_OUT=abs(Y_OUT);
f=(0:M-1)*fs/M-fs/2;
figure(9);
plot(f10*log10(MAG_Y_OUT));
title(‘經過FIR濾波器后的IOUT+jQOUT信號的頻譜‘);
xlabel(‘頻率(Hz)‘);
ylabel(‘幅度(dB)‘);
grid?on;
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-10-10?11:04??源碼\
?????文件????????3158??2013-05-24?01:41??源碼\DDC_Main.m
?????文件?????1228800??2014-01-11?01:16??源碼\ddc_test_in.dat
?????文件????????1109??2013-05-18?00:56??源碼\duobanfilter.m
?????文件????????7967??2013-05-17?21:41??源碼\duoxiangfilter.m
?????文件?????????351??2014-01-11?01:17??源碼\fir1_coef_initial.coe
?????文件?????????231??2014-01-11?01:17??源碼\fir1_coef_load.coe
?????文件?????????512??2014-01-11?01:17??源碼\fir2_coef_initial.coe
?????文件?????????343??2014-01-11?01:17??源碼\fir2_coef_load.coe
?????文件?????????229??2014-01-11?01:17??源碼\hb_coef.coe
?????目錄???????????0??2018-10-10?11:04??演示\
?????文件????52814848??2014-01-11?01:18??演示\CCKJ_XH_0014軟件無線電--數字下變頻原理及其技術研究.avi
?????文件?????????406??2014-01-11?01:18??演示\說明.txt
?????文件??????????64??2018-10-10?11:12??說明.txt
?????目錄???????????0??2018-10-10?11:02??需求\
?????文件???????38400??2013-05-15?14:36??需求\畢業設計要求說明書.doc
評論
共有 條評論