失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 【数字信号调制】基于matlab二进制数字相位调制(2PSK)【含Matlab源码 1000期】

【数字信号调制】基于matlab二进制数字相位调制(2PSK)【含Matlab源码 1000期】

时间:2022-08-17 17:56:13

相关推荐

【数字信号调制】基于matlab二进制数字相位调制(2PSK)【含Matlab源码 1000期】

一、获取代码方式

获取代码方式1:

完整代码已上传我的资源: 【数字信号调制】基于matlab二进制数字相位调制(2PSK)【含Matlab源码 1000期】

获取代码方式2:

通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。

备注:订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);

二、PSK简介

相移键控法, 根据数字基带信号的两个电平使载波相位在两个不同的数值之间切换的一种相位调制方法。

产生PSK信号的两种方法:

1)、调相法:将基带数字信号(双极性)与载波信号直接相乘的方法:

2)、选择法:用数字基带信号去对相位相差180度的两个载波进行选择。

两个载波相位通常相差180度,此时称为反向键控(PSK)。

解调方法:只能采用相干解调。

类型:二进制相移键控(2PSK),多进制相移键控(MPSK)。

三、部分源代码

clear allclose alli=10;j=5000;fc=4;%载波频率fm=i/5;%码元速率B=2*fm;t=linspace(0,5,j);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%产生基带信号a=round(rand(1,i));%随机序列,基带信号st1=t;for n=1:10if a(n)<1;for m=j/i*(n-1)+1:j/i*nst1(m)=0;endelsefor m=j/i*(n-1)+1:j/i*nst1(m)=1;endendendfigure(1);subplot(511);plot(t,st1);title('基带信号');axis([0,5,-1,2]);%%%%%%%%%%%&&&&&&%%%%%%%%%%%%%%%%%产生双极性基带信号st2=t;for k=1:j;if st1(k)>=1;st2(k)=0;elsest2(k)=1;endend;st3=st1-st2;%双极性基带信号%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%载波信号s1=sin(2*pi*fc*t);subplot(512);plot(s1);title('载波信号');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%调制psk=st3.*s1;subplot(513);plot(t,psk);title('2PSK信号');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%相干解调psk=psk.*s1;%与载波相乘[f,af] = T2F(t,psk);%%%%%%%%%%%通过低通滤波器[t,psk] = lpf(f,af,B);subplot(514);plot(t,psk);title('低通滤波后波形');%脚本文件F2T.m定义了函数F2T,计算信号的反傅立叶变换。function [t,st]=F2T(f,sf)%This function calculate the time signal using ifft function for the input%signal's spectrumdf = f(2)-f(1);Fmx = ( f(end)-f(1) +df);dt = 1/Fmx;N = length(sf);T = dt*N;%t=-T/2:dt:T/2-dt;t = 0:dt:T-dt;sff = fftshift(sf);st = Fmx*ifft(sff);function [t,st]=lpf(f,sf,B)%This function filter an input data using a lowpass filter%Inputs: f: frequency samples% sf: input data spectrum samples% B: lowpass's bandwidth with a rectangle lowpass%Outputs: t: time samples% st: output data's time samplesdf = f(2)-f(1);T = 1/df;hf = zeros(1,length(f));%全零矩阵bf = [-floor( B/df ): floor( B/df )] + floor( length(f)/2 );hf(bf)=1;yf=hf.*sf;[t,st]=F2T(f,yf);st = real(st);

四、运行结果

五、matlab版本及参考文献

1 matlab版本

a

2 参考文献

[1] 沈再阳.精通MATLAB信号处理[M].清华大学出版社,.

[2]高宝建,彭进业,王琳,潘建寿.信号与系统——使用MATLAB分析与实现[M].清华大学出版社,.

[3]王文光,魏少明,任欣.信号处理与系统分析的MATLAB实现[M].电子工业出版社,.

如果觉得《【数字信号调制】基于matlab二进制数字相位调制(2PSK)【含Matlab源码 1000期】》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。