大家好,欢迎来到IT知识分享网。
数字相位调制又叫相位键控(Phase Shift Keying,PSK),是一种十分重要的基本数字调制技术,是一种用载波相位表示输入信号的调制技术、或者说PSK是根据数字基带信号的电平使载波相位在不同的数值之间切换的一种相位调制方法。
1. DPSK信号的调制原理
2. Costas环解调DPSK信号
3. DPSK调制解调的MATLAB仿真
条件:基带信号符号速率 R b = 1 M b p s R_{b}=1Mbps Rb=1Mbps;成形滤波器的滚将因子 α = 0.8 \alpha =0.8 α=0.8;载波信号频率fc=2MHz,采样频率fs=8Rb.
根据前面的分析,首先产生随机的原始数据,然后对其进行差分编码(绝对码转换成相对码),并对其进行插值。设计好成形滤波器后,对插值后的相对码进行成形滤波,滤波输出的数据与载波相乘,即产生所需的DPSK已调信号。相干解调DPSK信号,只需将相干载波与DPSK已调信号相乘,并通过低通滤波即可。接收端的低通滤波器特性对解调性能有直接影响,低通滤波器的通带显然为基带信号的带宽,且必须确保滤除相邻A/D镜像频率成分和数字下变频引入的倍频分量。
相邻A/D镜像频率的最小间隔为:
Δ f a d = m i n [ 2 f L − k f s , ( k + 1 ) f s − 2 f H ] \Delta f_{ad}=min[2f_{L}-kf_{s},(k+1)f_{s}-2f_{H}] Δfad=min[2fL−kfs,(k+1)fs−2fH]
式中, f L f_{L} fL为中频信号的下边缘频率 ( f L = f c − ( 1 + α ) R b / 2 = 1.1 M H z ) (f_{L}=f_{c}-(1+\alpha )R_{b}/2=1.1MHz) (fL=fc−(1+α)Rb/2=1.1MHz), f L f_{L} fL为中频信号的上边缘频率 ( f H = f c + ( 1 + α ) R b / 2 = 2.9 M H z ) (f_{H}=f_{c}+(1+\alpha )R_{b}/2=2.9MHz) (fH=fc+(1+α)Rb/2=2.9MHz),fs为采样频率,k为整数,容易求得 Δ f a d = 2.2 M H z \Delta f_{ad}=2.2MHz Δfad=2.2MHz。
数字下变频引入倍频分量的最低频率为
f c d d c = m i n [ − 2 f 0 + ( m + 1 ) f s , 2 f 0 − m f s ] − B f / 2 f_{cddc}=min[-2f_{0}+(m+1)f_{s},2f_{0}-mf_{s}]-B_{f}/2 fcddc=min[−2f0+(m+1)fs,2f0−mfs]−Bf/2
式中, f 0 f_{0} f0为中频采样后的载波频率, B f B_{f} Bf为中频信号处理带宽,m为整数,容易求出 f c d d c = 3.1 M H z f_{cddc}=3.1MHz fcddc=3.1MHz。
根据过渡带选择原则,可知低通滤波器的截止频率为
f c = m i n [ f c d d c , B f / 2 + Δ f a d ] f_{c}=min[f_{cddc},B_{f}/2+\Delta f_{ad}] fc=min[fcddc,Bf/2+Δfad]
3.1 源码
ps=1*10^6; %码速率为1MHz a=0.8; %成形滤波器系数为0.8 B=(1+a)*ps; %中频信号处理带宽 Fs=8*10^6; %采样速率为8MHz fc=2*10^6; %载波频率为2MHz N=10000; %仿真数据的长度 t=0:1/Fs:(N*Fs/ps-1)/Fs;%产生长度为N,频率为fs的时间序列 s=randint(N,1,2); %产生随机数据作为原始数据, %并将绝对码变换为相对码 ds=ones(1,N); for i=2:N if s(i)==1 ds(i)=-ds(i-1); else ds(i)=ds(i-1); end end %对相对码数据以Fs频率采样 Ads=upsample(ds,Fs/ps); %设计平方升余弦滤波器 n_T=[-2 2]; rate=Fs/ps; T=1; Shape_b = rcosfir(a,n_T,rate,T);%figure(4);freqz(Shape_b) %对采样后的数据进行升余弦滤波; rcos_Ads=filter(Shape_b,1,Ads); %产生载频信号 f0=sin(2*pi*fc*t); %产生DPSK已调信号 dpsk=rcos_Ads.*f0; %与相干载波相乘,实现相干解调 demod_mult=dpsk.*f0; %设计接收端低通滤波器 fc=[ps 3.1*10^6]; %过渡带 mag=[1 0]; %窗函数的理想滤波器幅度 dev=[0.01 0.01]; %纹波 [n,wn,beta,ftype]=kaiserord(fc,mag,dev,Fs) %获取凯塞窗参数 fpm=[0 fc(1)*2/Fs fc(2)*2/Fs 1]; %firpm函数的频段向量 magpm=[1 1 0 0]; %firpm函数的幅值向量 rec_lpf=firpm(n,fpm,magpm); %firpm函数返回的最优滤波器系数 %对乘法运算后的数据进行低通滤波,输出解调后的基带信号 demod_lpf=filter(rec_lpf,1,demod_mult); figure(1) %绘制成形滤波后信号频谱、DPSK信号频谱、DPSK信号时域波形 m_rcos_Ads=20*log10(abs(fft(rcos_Ads,1024)));m_rcos_Ads=m_rcos_Ads-max(m_rcos_Ads); m_dpsk=20*log10(abs(fft(dpsk,1024)));m_dpsk=m_dpsk-max(m_dpsk); %设置幅频响应的横坐标单位为MHz x_f=[0:(Fs/length(m_dpsk)):Fs/2];x_f=x_f/10^6; %只显示正频率部分的幅频响应 mrcos_Ads=m_rcos_Ads(1:length(x_f)); mdpsk=m_dpsk(1:length(x_f)); %设置时域波表的横坐标单位为us Len=100;%设置时域波形显示的点数 x_t=1:Len;%产生长度为Len的时间序列 x_t=x_t/Fs*10^6; %显示所需的频谱及时域波形 subplot(311); plot(x_f,mrcos_Ads); legend('成形滤波后信号频谱'); xlabel('频率(MHz)');ylabel('幅度(dB)');grid on; subplot(312); plot(x_f,mdpsk); legend('DPSK已调信号频谱'); xlabel('频率(MHz)');ylabel('幅度(dB)');grid on;
3.2 仿真结果
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/122237.html