第一范文网 - 专业文章范例文档资料分享平台

基于MATLAB的OQPSK调制解调实现课程设计

来源:用户分享 时间:2025/5/31 22:04:06 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

附录1:OQPSK调制与解调程序清单

%程序1名称:oqpsk.m

%程序1功能:产生四进制数字基带信号,实现OQPSK调制、产生调制后波形图及频谱图、对调制信号添加不同信噪比的噪声、实现OQPSK解调、查看错码个数和误码率。 %程序1作者:周翌 %最后修改时间:2014-1-10 %===================== 程序1代码:

a=100; %基带信号码元个数

x = randint(a,1,[0 3]); % 随机产生a个四进制数

figure(1)

stairs(x) %基带信号

y =oqpskmod(x);% 进行oqpsk调制 scatterplot(y) %解调信号的星座图 fc=100; %载波频率 fs=1600; %抽样频率 b=0; %设置初始相位为0

s=0; %调制信号的波形图纵坐标初始化 n=0; %调制信号波形图二维初始化 snr=10.01; %信噪比

for i=1:a %判断星座图上值的象限位置,以确定相位 if real(y(i))>0 & imag(y(i))>0

b=(pi)/4; %第一象限,取相位为(pi)/4 end;

if real(y(i))<0 & imag(y(i))>0

b=(3*pi)/4; %第二象限,取相位为(3*pi)/4 end;

if real(y(i))<0 & imag(y(i))<0

b=(5*pi)/4; %第三象限,取相位为(5*pi)/4 end;

if real(y(i))>0 & imag(y(i))<0

b=(7*pi)/4; %第四象限,取相位为(7*pi)/4 end;

if real(y(i))>0 & imag(y(i))==0

b=0; %在实轴正轴上,取相位为0 end;

if real(y(i))<0 & imag(y(i))==0

b=pi; %在实轴负轴上,取相位为pi end;

if real(y(i))==0 & imag(y(i))>0

b=pi/2; %在虚轴正轴上,取相位为pi/2

end;

if real(y(i))==0 & imag(y(i))<0

b=(3*pi)/2; %在虚轴负轴上,取相位为(3*pi)/2 end;

for k=0:15 %取16个点画出波形图 m=(2*pi*fc*k)/fs+b; %合相位 s=sin(m); %生成波形图 n=[n sin(m)]; %将一维转换为二维 end; end;

g=1:length(n); %调制信号横坐标 figure(3)

plot(g,n) %调制信号波形图 noi=n +awgn(n,snr); %加入高斯噪声 figure(4)

plot(noi); %加入噪声后的调制信号 k=oqpskdemod(y); %解调信号 figure(5)

stairs(k) %解调信号

r=fft(x,1024); %对基带信号进行傅里叶变换 fr=(0:length(r)-1)*fs/length(r)-fs/2; %横坐标为频域 figure(6)

plot(fr,abs(r)); % OQPSK基带信号频谱图 xlabel('Frequency (Hz)')

s1=fft(n,1024); %调制信号频谱图

fs1=(0:length(s1)-1)*fs/length(s1)-fs/2; %横坐标为频域 figure(7)

plot(fs1,abs(s1)); %OQPSK调制信号频谱图 xlabel('Frequency (Hz)')

s2=fft(noi,1024); %加入噪声后OQPSK调制后的频谱图 fs2=(0:length(s2)-1)*fs/length(s2)-fs/2; %横坐标为频域

figure(8)

plot(fs2,abs(s2)) %加入噪声后OQPSK调制后的频谱图 xlabel('Frequency (Hz)')

jtpp=fft(k,1024); %解调信号的傅里叶变换

fj=(0:length(jtpp)-1)*fs/length(jtpp)-fs/2; %横坐标为频域 figure(9)

plot(fj,abs(jtpp)) %解调信号的频谱图 xlabel('Frequency (Hz)')

xx=awgn(y,snr); %对调制信号加入噪声

jjt=oqpskdemod(xx);%对加入噪声的调制信号进行解调 figure(10) %加入噪声后的解调信号 stairs(jjt)

jjtp=fft(jjt,1024); %求加入噪声后解调频谱

fp=(0:length(jjtp)-1)*fs/length(jjtp)-fs/2; %横坐标为频域 figure(11) %加入噪声后解调频谱图 plot(fp,abs(jjtp)) xlabel('Frequency (Hz)')

[num,ratio]=symerr(x,jjt) %计算错码个数num及误码率ratio

基于MATLAB的OQPSK调制解调实现课程设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c3kdbp5sfym072ie1yi364bptb11x4w00mek_5.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top