前言
Matlab模拟2ask信号的调制解调,传码率1K波特,载波频率10KHZ,画出时域频谱图。是我们的实验课作业,从网上拷贝代码,改出要求的样子,有一说一网上符合要求的很少。从没学过matlab和python绘图之类,勉强做出来了。如有疏漏不妥之处,还请不吝赐教!
以下是代码:
clear all;
close all;
clc;
M=10; %产生码元数
L=100; %每码元复制L次
Ts=0.001; %每个码元的宽度,即码元的持续时间
Rb=1/Ts; %码元速率1K
dt=Ts/L; %采样间隔
TotalT=M*Ts; %总时间
t=0:dt:TotalT-dt; %时间
%产生单极性波形
wave=randi([0,1],1,M); %产生二进制随机码,M为码元个数
fz=ones(1,L); %定义复制的次数L,L为每码元的采样点数
x1=wave(fz,:); %复制的第1行复制L次
dnrz=reshape(x1,1,L*M); %产生单极性不归零矩形脉冲波形
fc=10000; %载波频率10K
zb=sin(2*pi*fc*t);
ask2=dnrz.*zb; %2ASK的模拟调制
subplot(611)
plot(t,dnrz)
title('单极性不归零矩形脉冲')
axis([0,TotalT,-0.1,1.1])
subplot(612)
plot(t,ask2);
title('2ASK已调信号波形')
axis([0,TotalT,-1.1,1.1]);
%已调信号通过含有高斯白噪声的信道
tz=awgn(ask2,15); %信号ask2中加入白噪声,信噪比为SNR=15dB
subplot(613);
plot(t,tz);
axis([0,TotalT,-1.5,1.5]);
title('通过高斯白噪声信道后的信号');
%解调部分
tz=tz.*zb; %相干解调之乘以相干载波
subplot(614)
plot(t,tz) %画出乘以相干载波后的信号
axis([0,TotalT,-0.1,1.1]); %设置坐标范围
title("乘以相干载波后的信号")
%低通滤波器设计
wp=2*pi*2*fc*0.5; %通带截止烦率
ws=2*pi*2*fc*0.9; %阻带截止频率
Rp=2; %Rp是通带波纹,As是阻带衰诚
As=45;
[N,wc]=buttord(wp,ws,Rp,As,'s');%计算巴特洪斯滤波器阶次和截止频率
[B,A]=butter(N,wc,'s'); %频率变换法设计巴特沃斯低通滤波器
%低通滤波
h=tf(B,A); %转换为传输两数
dst=lsim(h,tz,t); %面出系统h对由nst和t描述的输入信号的时间响应
subplot(615)
plot(t,dst) %画出经过低通滤波器后的信号
axis([0,TotalT,-0.1,1.1]); %设置坐标范围
title("经过低通滤波器后的信号");
%判决器
k=0.25; %设置抽样限值
pdst=1*(dst>0.25); %满足条件时抽样
subplot(616)
plot(t,pdst) %画出经过抽样判决后的信号
axis([0,TotalT,-0.1,1.1]); %设置坐标范用
title("经过抽样判决后的信号")
%画出频谱
%调制信号频谱
T=t(end);%时间
df=1/T;%频率
N=length(ask2);%采样长度
f=(-N/2:N/2-1)*df;%采样频率
sf=fftshift(abs(fft(ask2)));%对2ASK信号采用快速傅里叶变换并移到矩阵中心
figure(2)
subplot(411)
plot(f,sf)%画出调制信号频谱
title("调制信号频谱")
%信源频谱
mf=fftshift(abs(fft(dnrz)));%对信源信号采用快速傅里叶变换并移到矩阵中心
subplot(412)
plot(f,mf) %画出信源频谱波形
title("信源频谱")
%乘以相干载波后的频谱
mmf=fftshift(abs(fft(tz)));%对相干载波信号采用快速傅里叶变换并移到矩阵中心
subplot(413)
plot(f,mmf) %画出乘以相干载波后的频谱
title("乘以相干载波后的频谱")
%经过低通滤波后的频谱
dmf=fftshift(abs(fft(dst)));%对低通滤波信号采用快速傅里叶变换并移到矩阵中心
subplot(414)
plot(f,dmf) %画出经过低通滤波后的频谱
title("经过低通滤波后的频谱");
一些补充
1、开始输入随机信号生成部分,matlab中randint(m,n,[A,B])已经不能用,要用randi([A,B],m,n)。生成取值在[A,B]的m*n的矩阵。
2、采用模拟调制,相干解调。
有什么问题可以留言~