《SSR中頻解調原理及MATLAB源碼》由會員分享,可在線閱讀,更多相關《SSR中頻解調原理及MATLAB源碼(10頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、SSR中頻COSTA新解調原理及MATLAB(碼
1.解調算法模型
SSRASK單調采用改進的costas環(huán)解調方式,原理框圖如下圖1所示
Opt iana I
I;.「
帶速'
游波
m(1 : s i
si:i( ■ j ihp ;1
度相位求的
CORDIC
幅度
相位.
圖1SSRASKS調原理框圖
AD采樣后的中頻信號進入FPG秋部后,可選擇性引入帶通FIR濾波器,對帶外噪聲信號進行衰減,以提高中頻信號的信噪比。不過需注意的是,F(xiàn)IR濾波器
的群延時會增加解調系統(tǒng)處理時間,在機載應答機對處理時間要求苛刻的環(huán)境下,是否引入帶通FIR濾波器需充分評估。
2、
vl二m(1)sin(w/)*sin(wif+(p)
=sin(p+sin(2wf+ip)\
v2=m(/)sin(wf)*cos(wt+
=2ffl(f)[cos
3、;%中頻采樣后中頻信號主頻點
%%!擬兩個SSF?答信號
SSR0=zeros(1,430);
SSR0(1:9)=1;%F1
SSR0(30:38)=1;%C1
SSR0(59:67)=1;%A1
SSR0(88:96)=1;%C2
SSR0(117:125)=1;%A2
SSR0(146:154)=1;%C4
SSR0(175:183)=1;%A4
SSR0(204:212)=0;%X
SSR0(233:241)=0;%B1
SSR0(262:270)=1;%D1
SSR0(291:299)=0;%B2
SSR0(320:328)=1;%D2
SSR0(349
4、:357)=1;%B4
SSR0(378:386)=0;%D4
SSR0(407:415)=1;%F2
SSR=rectpulse(SSR0,4);
ssr_length=length(SSR);
t=0:1/fs:(ssr_length-1)/fs;
sin_IF=sin(2*pi*f0*t)+1;
IF_signal=zeros(1,ssr_length);
%給中頻信號插入一定噪聲
SNR=30;
sin_IF=awgn(sin_IF,SNR);%給向量上插入一定信噪比
%%生成中頻采樣后的信號
fori=1:ssr_length
IF_signal(i)=10
5、000*sin_IF(i)*SSR(i);
end
%顯示原始信號頻譜
fs_xianshi=fs;
dlengh=length(IF_signal);
dlenghlog=nextpow2(dlengh)-1;%nextpow2returnsthesmallestpoweroftwogreaterthanorequaltolength(A).
datalengh=2Adlenghlog;
m_dpsk=20*log10(abs(fft(IF_signal,datalengh)));
x_f=[0:(fs_xianshi/datalengh):fs_xianshi/2];
m
6、2=m_dpsk(1:length(x_f));
figure(1);plot(x_f,m2,'-.');
legend('采樣后的中頻信號頻譜');
xlabel('頻率(Hz)');ylabel('幅度(dB)');gridon;
= 20;
%Order
Fc1 = 10;
%FirstCutoffFrequency(單位MH)Z
Fc2=20;%SecondCutoffFrequency(單位MHZ)
flag='scale';%SamplingFlag
Fs=85;%濾波器采樣頻率(單位MHZ)
%Createthewindowvectorforthedesig
7、nalgorithm.
win=hamming(N+1);
%CalculatethecoefficientsusingtheFIR1function.
b=fir1(N,[Fc1Fc2]/(Fs/2),'bandpass',win,flag);
(N-
%對采樣后的IF信號先進行一次帶通濾波,提高信噪比(濾波引入延時:
1)/(2*Fs),對于上述濾波器,延時為111.7ns)
%對于對解調延時要求比較高的場合,要設置恰當?shù)臑V波器階數(shù),不能茫然追
求帶外衰減,提高濾波器階數(shù),造成較大的群延時
IF_signal_f=filter2(b,IF_signal);
%IF_si
8、gnal_f=IF_signal;
%---對中頻信號進行正交混頻操作
sin_VCO=sin(2*pi*f1*t-pi/4);
cos_VCO=cos(2*pi*f1*t-pi/4);
I_signal=zeros(1,ssr_length);
Q_signal=zeros(1,ssr_length);
fori=1:ssr_length
I_signal(i)=IF_signal_f(i)*sin_VCO(i);
Q_signal(i)=IF_signal_f(i)*cos_VCO(i);
end
%--對混頻后的正交信號進行濾波
Fs=85;%SamplingFre
9、quency
N=30;%Order
Fc=10;%CutoffFrequency
flag='scale';%SamplingFlag
%Createthewindowvectorforthedesignalgorithm.
win=hamming(N+1);
%CalculatethecoefficientsusingtheFIR1function.
b=fir1(N,Fc/(Fs/2),'low',win,flag);
%普通低通FIR濾波操作,濾除混頻引入的高頻成分。濾波引入延時:(N-1)/
2*Fs),對于上述濾波器,延時為1776ns)
%對于對解調延時要求比
10、較高的場合,要設置恰當?shù)臑V波器階數(shù),不能茫然追
求帶外衰減,提高濾波器階數(shù),造成較大的群延時
I_fir_result=filter2(b,I_signal);
Q_fir_result=filter2(b,Q_signal);
%顯示普通濾波后信號頻譜
fs_xianshi=fs;
dlengh=length(I_fir_result);
dlenghlog=nextpow2(dlengh)-1;%nextpow2returnsthesmallestpoweroftwogreaterthanorequaltolength(A).
datalengh=2Adlenghlog;
11、
m_dpsk=20*log10(abs(fft(I_fir_result,datalengh)));
x_f=[0:(fs_xianshi/datalengh):fs_xianshi/2];
m2=m_dpsk(1:length(x_f));
figure(2);plot(x_f,m2,'-.');
legend('普通FIR濾波后信號頻譜’);
xlabel('頻率(Hz)');ylabel('幅度(dB)');gridon;
%科斯塔斯環(huán)解調結果
demodulate_amp=sqrt(I_fir_result.*I_fir_result+
Q_fir_result.*Q
12、_fir_result)*4;%解調幅度
解調相位為 IF
方式求解相位,因此
demodulate_phase=atan(I_fir_result./Q_fir_result);%
信號載波相對混頻I路信號相位關系,由于采用arctangent
存在1、3象限;2、4象限的相位模糊
%繪制解調前后信號波形對比圖
figure(6);
subplot(3,1,1);
plot(IF_signal(1:ssr_length),'--g','linewidth',2);
legend('原始碼元');
axis([0length(IF_signal)025000]);
xl
13、abel('采樣點');ylabel('幅度');gridon;
holdall;
subplot(3,1,2);
plot(demodulate_amp(1:ssr_length),'-b','linewidth',1);
legend('解調幅度');
axis([0length(demodulate_amp)025000]);
xlabel('采樣點');ylabel('幅度');gridon;
holdall;
subplot(3,1,3);
plot(demodulate_phase/pi,'-b','linewidth',1);
legend('解調相位');
axis([0length(demodulate_phase)-0.50.5]);
xlabel('采樣點');ylabel('pi');gridon;