找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7083|回复: 0
收起左侧

基于Matlab的数字基带传输系统实验 2ASK源代码

[复制链接]
ID:80436 发表于 2015-5-19 20:46 | 显示全部楼层 |阅读模式
南京航空航天大学
实验报 告
课程名称:通信原理实验
实验名称:基于Matlab的数字基带传输系统实验
评定成绩:
审阅教师:
一. 实验目的
1.1  掌握数字基带传输系统和振幅键控调制/解调的原理和方法;
1.2  掌握数字基带和振幅键控信号的波形和功率谱特点;
1.3  掌握振幅键控调制系统的MATLAB仿真实现方法。  
二.原理框图
二进制振幅键控信号的产生方法(调制方法)有两种:模拟调制法(相乘器)和键控法。
三.程序源代码
%2ASK信号的调制与解调源代码
bit=[1 0 1 0 1 0 1 0];%g为比特流
N=100; %码元速率
fc=1000;%载波频率
swr=10;%信噪比
M=8;%码元个数
bitrate=100;
fs=N*bitrate;
t=linspace(0,1/bitrate,N);
ts=1/fs;
%载波信号
c=cos(2*pi*fc*t);
figure(1)
plot(c,'g');
title('载波信号波形');
y1=fftshift(abs(fft(c)));
figure(2)
plot(y1,'g');
title('载波信号频谱');
axis([-100,200,0,100]);
%数字基带信号产生
bits=[]; sig=[]; s=[];     
  for i=1:length(bit)%%length(m)表示信号m的长度
      if bit(i)==0
          bits=zeros(1,N);
      else
          bits=ones(1,N);
      end
     sig=[sig,bits]; %数字基带信号
     s=[s,cos(2*pi*fc*t).*bits];%已调信号
  end
figure(3)
plot(sig,'r');
title('数字基带信号波形');
axis([0,900,-0.5,2]);
y2=fftshift(abs(fft(sig)));
figure(4)
plot(y2,'r');
title('数字基带信号频谱');
axis([0,900,0,450]);
%基带信号功率谱
nfft=1024;
cxn=xcorr(sig,'unbiased'); %计算序列的自相关函数
CXk=fft(cxn,nfft);
Pxx=abs(CXk);
index=0:round(nfft/2-1);
k=index*fs/nfft;
plot_Pxx=10*log10(Pxx(index+1));
figure(5)
plot(k,plot_Pxx);
title('数字基带信号功率谱');
%已调信号的波形以及频谱
figure(6)
plot(s,'y');
title('已调信号波形');
y3=fftshift(abs(fft(s)));
figure(7)
plot(y3,'y');
title('已调信号频谱');
axis([-100,1000,0,250])
%加噪声
figure(8)
y4= awgn(s,swr);
plot(y4,'r');
title('加噪声后的已调信号');
%求加噪声后的功率谱密度
nfft=1024;
cxn=xcorr(y4,'unbiased'); %计算序列的自相关函数
CXk=fft(cxn,nfft);
Pxx=abs(CXk);
index=0:round(nfft/2-1);
k=index*fs/nfft;
plot_Pxxn=10*log10(Pxx(index+1));
figure(9)
plot(k,plot_Pxxn);
title('加噪声后数字基带信号功率谱');
%带通滤波
a=[700,1300];c=0.1;d=35;
Wp=a/(fs/2); %%若为低通,a 为一个频率值,若为带通a 为一个频率范围[a1 a2]
Rp=c; %% c 为通带最大衰减分贝
Rs=d; %% d 为阻带最小衰减分贝
[b,a]=ellip(4,Rp,Rs,Wp);
s1=filter(b,a,s);
figure(10)
plot(s1,'g');
title('带通滤波后的数字基带信号');
%带通滤波后信号功率谱密度
nfft=1024;
cxn=xcorr(s1,'unbiased'); %计算序列的自相关函数
CXk=fft(cxn,nfft);
Pxx=abs(CXk);
index=0:round(nfft/2-1);
k=index*fs/nfft;
plot_Pxx=10*log10(Pxx(index+1));
figure(11)
plot(k,plot_Pxx);
title('带通滤波后信号功率谱');
%抽样判决(解调过程)
sigout=[];
for i=1:M
    if s1(N*(i-1)+N/2)>0.5
        bits=ones(1,N);
   
    else
        bits=zeros(1,N);
    end
    sigout=[sigout,bits];
end
figure(12)
plot(sigout,'g');
title('抽样判决后的解调信号波形');
axis([0,900,-0.5,1.5]);
%解调信号功率谱密度
nfft=1024;
cxn=xcorr(sigout,'unbiased'); %计算序列的自相关函数
CXk=fft(cxn,nfft);
Pxx=abs(CXk);
index=0:round(nfft/2-1);
k=index*fs/nfft;
plot_Pxx=10*log10(Pxx(index+1));
figure(13)
plot(k,plot_Pxx);
title('滤波后的解调信号功率谱');
%最后将原基带信号和解调后的基带信号统一绘图作比较
figure(14)
subplot(2,1,1);
plot(sig,'r');
title('原数字基带信号');
axis([0,1000,-0.5,1.5]);
subplot(2,1,2);
plot(sigout,'r');
title('解调信号');
axis([0,1000,-0.5,1.5]);
四.对应波形及频谱图




原文件from宝杰童鞋~
修改后的另一种码元调制与解调源代码~




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表