MATLAB实现2psk,2dpsk调制解调
目录
- 2psk
- 设计流程
- 代码
- 结果
- 2dpsk
- 设计流程
- 代码
- 结果
2psk
设计流程
(1)利用rand随机产生一组元素为10的数字序列。
(2)根据2psk调制原理画调制信号。
(3)根据相干解调法,将已经调制信号,在信道引入噪声,先经过带通滤波器,再和余弦信号相乘,再经过低通滤波器,进行抽样判决,画出解调后的波形,与原始信号波形进行比较。
代码
%2PSK调制解调
clear all
close all
fs=2000;%采样频率
dt=1/2000;%采样时间
T=1;%码元宽度
f=20;%信号频率
a=round(rand(1,10));%原始数字信号
g1=a;g2=~a;
g11=(ones(1,2000))'*g1;%抽样
g1a=g11(:)';
g21=(ones(1,2000))'*g2;%抽样
g2a=g21(:)';
t=0:dt:10-dt;
t1=length(t);
psk1=g1a.*cos(2*pi*f*t);%码元0用0相位
psk2=g2a.*cos(2*pi*f*t+pi);
sig_psk=psk1+psk2;%产生2psk信号
no=0.01*randn(1,t1);%噪声
sn=sig_psk+no;
figure(1)
subplot(311),plot(t,no);title('噪声波形'),ylabel('幅度');
subplot(312),plot(t,sig_psk);title('psk信号波形'),ylabel('幅度');
subplot(313),plot(t,sn);title('经过信道后的信号'),ylabel('幅度');
%解调
bpf=fir1(101,[19/1000,21/1000]);%带通滤波器设置
H=filter(bpf,1,sn);%经过带通滤波后的信号
sw=H.*cos(2*pi*f*t);
lpf=fir1(101,[1/1000,10/1000]);%低通滤波器设置
st=filter(lpf,1,sw);
figure(2)
subplot(211),plot(t,sw);title('乘法器输出信号'),ylabel('幅度');
subplot(212),plot(t,st);title('低通滤波后输出信号'),ylabel('幅度');
%抽样判决
sig=zeros(1:t);
for i=1:length(t)if(st(i)>0)sig(i)=0;elsesig(i)=1;end
end
figure(3)
subplot(211),plot(sig),axis([0 20000 0 2]),title('经过抽样判决后解调出的波形'),ylabel('幅度');
subplot(212),plot(g1a),axis([0 20000 0 2]),title('原始信号'),ylabel('幅度');
结果
2dpsk
设计流程
(1)利用rand随机产生一组元素为10的数字序列。
(2)根据2dpsk调制原理画调制信号。
(3)根据相干解调法,调制信号经过带通滤波器,再和余弦信号相乘,再经过低通滤波器,进行抽样判决,之后经过码反变换器,画出解调后的波形,与原始信号波形进行比较。
代码
main.m
%2DPSK调制解调
clear all
close all
i=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)<1for m=j/i*(n-1)+1:j/i*nst1(m)=0;endelsefor m=j/i*(n-1)+1:j/i*nst1(m)=1;endend
end
figure(1)
subplot(411),plot(t,st1),title('绝对码'),axis([0,5,-1,2]);
%差分变换
b=zeros(1,i);
b(1)=a(1);
for n=2:10if a(n)>=1if b(n-1)>=1b(n)=0;elseb(n)=1;endelseb(n)=b(n-1);end
end
st1=t;
for n=1:10if b(n)<1for m=j/i*(n-1)+1:j/i*nst1(m)=0;endelsefor m=j/i*(n-1)+1:j/i*nst1(m)=1;endend
end
subplot(412),plot(t,st1),title('相对码'),axis([0,5,-1,2]);
st2=t;
for k=1:jif st1(k)>=1st2(k)=0;elsest2(k)=1;end
end
subplot(413),plot(t,st2),title('相对码的反码'),axis([0,5,-1,2]);
%载波信号
s1=sin(2*pi*fc*t);
subplot(414),plot(s1),title('载波信号');
%调制
d1=st1.*s1;
d2=st1.*(-s1);
figure(2)
subplot(411),plot(t,d1),title('st1*s1');
subplot(412),plot(t,d2),title('st1*s2');
e_dpsk=d1+d2;
subplot(413),plot(t,e_dpsk),title('调制后波形');
noise=rand(1,j);
dpsk=e_dpsk+0.5*noise;
subplot(414),plot(t,dpsk),title('加噪声信号');
%延迟单元
if dpsk(65)<0dpsk_delay(1:j/i)=dpsk(1:j/i);
elsedpsk_delay(1:j/i)=-dpsk(1:j/i);
end
dpsk_delay(j/i+1:j)=dpsk(1:j-j/i);
%与未延迟信号相乘
dpsk=dpsk.*dpsk_delay;
figure(3)
subplot(311),plot(t,dpsk),title('延迟相乘后波形');
%低通滤波
[f,af]=F2T(t,dpsk);
[t,dpsk]=lpf(f,af,B);
subplot(312),plot(t,dpsk),title('通过低通滤波器波形');
%抽样判决
st=zeros(1,i);
for m=0:i-1if dpsk(1,m*500+250)<0st(m+1)=0;for j=m*500+1:(m+1)*500dpsk(1,j)=1;endelsefor j=m*500+1:(m+1)*500st(m+1)=1;dpsk(1,j)=0;endend
end
subplot(313),plot(t,dpsk),axis([0,5,-1,2]),title('抽样判决后即解调后的波形');
F2T.m
function [t,st]=F2T(f,sf)
%傅里叶变换
df=f(2)-f(1);%频率分辨率
Fmx=f(end)-f(1)+df;%频率区间长度
dt=1/Fmx;
N=length(sf);
T=dt*N;
t=0:dt:T-dt;
sff=fftshift(sf);
st=Fmx*ifft(sff);
end
lpf.m
function [t,st]=lpf(f,sf,B)
df=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);
end
结果
《通信原理实验教程》刘佳 徐海霞
MATLAB实现2psk,2dpsk调制解调相关推荐
- 西电B测——基于simulink的2PSK和2DPSK调制解调系统实现
这是学校的B级测试实验,仅供学习交流使用 误码率曲线绘制需要用到bertool工具: bertool工具教程: 通信专业Simulink---画误码率曲线(使用bertool工具)_Enpiyahh的 ...
- 基于MATLAB的基本数字调制解调系统的设计
基于MATLAB的基本数字调制解调系统的设计 一.摘要 现代通信系统要求通信距离远.通信容量大.传输质量好,作为其关键技术之一的调制解调技术一直是人们研究的一个重要方向.本文以MATLAB为软件平台, ...
- 基于FPGA的2ASK、2FSK、2PSK的调制解调
文章目录 前言 一.顶层原理图 二.signalTap II 上的仿真图 三.部分代码贴出 总结 前言 这是自己的毕设总结,主要就是基于FPGA的调制解调器的设计.涉及到2ASK.2FSK.2PSK的 ...
- 通信原理笔记—2DPSK调制解调系统
目录 2DPSK调制解调系统: 2DPSK信号的产生: 2DPSK的调制框图: DPSK信号的平均功率谱密度: 2DPSK信号的功率谱特性: 编辑DPSK信号的解调: 差分PSK信号检测: 2DPS ...
- 用matlab实现bpsk,用MATLAB实现的BPSK调制解调源程序(国外英文资料).doc
用MATLAB实现的BPSK调制解调源程序(国外英文资料) 用MATLAB实现的BPSK调制解调源程序(国外英文资料) modulation.m 函数output_modu =调制(input_fra ...
- 2DPSK调制解调matlab,2DPSK调制与解调-matlab
<2DPSK调制与解调-matlab>由会员分享,可在线阅读,更多相关<2DPSK调制与解调-matlab(4页珍藏版)>请在人人文库网上搜索. 1.- 2DPSK 调制与解调 ...
- 基于PLUTO和MATLAB的QPSK无线调制解调系统
**实验介绍:**本次实验应用软件无线电模块ADALM-PLUTO和MATLAB软件,并结合现代无线数字通信原理,利用MATLAB设计出完整的 QPSK无线通信系统,利用ADALM-PLUTO实现完整 ...
- 2dpsk调制解调实验matlab_【无线通信篇】你知道ASK调制吗?
1.ASK信号的调制原理 数字信号对载波信号的振幅调制称为振幅键控,即ASK. 在2ASK调制系统中,数字信息只有0和1两种,所调制的载波信号的幅度变化状态也只有两种:无载波输出时代表发送0:有载波输 ...
- 基于MATLAB的室内可见光调制解调通信系统
目 录 摘 要 I ABSTRACT II 第1章 绪论 1 1.1选题背景及意义 1 1.1.1选题背景 1 1.1.2研究意义 1 1.2研究现状 2 1.2.1室内可见光通信的研究现状 2 1. ...
最新文章
- 获取手机上的相关参数方法
- 北京出台自动驾驶新规:自动驾驶车辆须配备司机应急
- 解决Tomcat v8.0 Server at localhost failed to start.
- 对一次短路故障的分析与总结
- 树莓派远程连接的三种方式总结
- 移动 Azure 资源后如何快速修复 Dashboard
- document.all和document.layers
- 6.3深度优先遍历和广度优先遍历
- oracle裁员原因_如何评价甲骨文(ORACLE)中国区裁员?
- 修复MacOS X上QuickTime 7.2中的AVI播放错误
- 网易汪源:网易产品体验好,离不开AI驱动
- 苹果手机刷机显示无法联系软件更新服务器,为什么苹果手机无法自动更新软件怎么办...
- 为什么宝宝做错事被骂哭后,还要求抱抱?家长早知道早受益
- 视频批量添加透明水印,必须用这个方法
- 云计算对电子商务的应用优势
- 今天,洋哥北漂整整11年
- 易语言如何使用处理事件
- 【音视频数据数据处理 12】【H.264篇】解析H.264原始码流中的I帧 / P帧 / B帧数据(暂未解决,本文先放着,来日更新)
- 简单的数据库关系表建立
- CSS学习(四)—— 边框与圆角