资源简介
MATLAB仿真ASK,FSK,PSK,并对比三种方式的误码率在信噪比0-20时的情况,注释全面
代码片段和文件信息
clear;
clc;
close all;
n=10000; %10000个信息位
b=randint(1n);
f1=1;f2=2;
t=0:1/30:1-1/30; %30数据点每秒
%ASK
sa1=sin(2*pi*f1*t);
E1=sum(sa1.^2);
sa1=sa1/sqrt(E1);
sa0=0*sin(2*pi*f1*t); %产生ASK单位波形,当信息位1时有正弦波形,0时没有,
%FSK
sf0=sin(2*pi*f1*t); %产生FSK单位波形
E1=sum(sf0.^2);
sf0=sf0/sqrt(E1);
sf1=sin(2*pi*f2*t);
E2=sum(sf1.^2);
sf1=sf1/sqrt(E2);
%PSK
sp0=sf0; %PSK单位波形
sp1=-sf0;
%modulization
ask=[];fsk=[];psk=[];
for i=1:n
if(b(i)==1)
ask=[ask sa1]; %产生askfskpsk波形,根据信息位补充单位波形
fsk=[fsk sf1];
psk=[psk sp1];
else
ask=[ask sa0];
fsk=[fsk sf0];
psk=[psk sp0];
end
end
figure(1)
subplot(411)
stairs(0:10[b(1:10) b(10)]‘linewidth‘1.5)
axis([0 10 -0.5 0.5]);
grid on;
subplot(412)
tb=0:1/30:10-1/30;
plot(tbask(1:10*30)‘b‘‘linewidth‘1.5)
grid on;
subplot(413)
plot(tbfsk(1:10*30)‘r‘‘linewidth‘1.5)
grid on;
subplot(414)
plot(tbpsk(1:10*30)‘k‘‘linewidth‘1.5) %画出产生的波形前10个信息位
grid on;
for snr=0:20
A=[];F=[];P=[]; %三个解调后数组,初始化均为0
%awgn
askn=awgn(asksnr);
fskn=awgn(fsksnr);
pskn=awgn(psksnr);
for i=1:n
if sum(sa1.*askn(1+30*(i-1):30*i))>0.5 %ASK detection
A=[A 1];
else
A=[A 0];
- 上一篇:2015年研究生数学建模竞赛B题MATLAB代码
- 下一篇:低通滤波.ms14
相关资源
- 通信原理课程设计 PCM编码 TDM时分复用
- 基于MATLAB的2FSK数字通信系统设计
- QPSK调制解调的MATLAB程序仿真
- 4PSK和QPSK调制及成型滤波sinc
- QPSK信号产生
- QDPSK信号的调制与解调Matlab程序
- 通信系统设计—数字带通传输系统仿
- QPSK的matlab实现,调制解调
- FSK调制解调程序代码类
- bfsk程序代码matlab
- bfsk在多径瑞利衰落信道中的传输性能
- QPSK的MATLAB仿真73281
- 2psk2fsk调制源程序附测试结果图和实验
- matlab开发-landmask
- IEEE802.11b 物理层DBPSK编码程序
- 4CPM_matlab
- 基于Matlab的QPSK调制解调星座图
- qpsk3.m
- bpsk_qpsk.m
- cpfsk信号的产生
-
qpsk调制解调器simuli
nk仿真 - sy3_2DPSK.mdl
-
QPSK调制与解调的simuli
nk仿真 - qpsk在matlab上的仿真
- mask与wallis影像图像匀光匀色算法的
- DPSK的MATLAB实现53470
- BPSK,QPSK Matlab仿真代码
- 通信仿真 ofdm-bpsk
- 4dpsk调制解调的Matlab代码
- QPSK的MATLAB仿真程序
评论
共有 条评论