会飞的鱼

2020
辉小窝——分享更好的自己

《通信电子线路》顾宝良 编著附录Matlab程序A.4二进制数字调制与解调A4.1 2ASK,2PSK,2FSK

 源代码如下


% 波特率是指数据信号对载波的调制速率,它用单位时间内载波调制状态改变的次数来表示。  
% 在信息传输通道中,携带数据信息的信号单元叫码元,
% 每秒钟通过信道传输的码元数称为码元传输速率,简称波特率。波特率是传输通道频宽的指标。
clear
close
clf
A=1;
fc=2;              %载波频率
N_sample=6;        %采样点数
N=10;             %码元个数
Ts=1;              %波特率
dt=Ts/fc/N_sample; %波特采样间隔
t=0:dt:N*Ts-dt;
Lt=length(t);
 
source = sign(randn(1,N));
source_expand=sigexpand((source+1)/2, fc*N_sample);
gt=ones(1,fc*N_sample);
subplot(221)
d_NRZ = conv(source_expand,gt);
plot(t,d_NRZ(1:length(t)));
ylabel('输入信号');
 
ht=A*cos(2*pi*fc*t);
s_2ask=d_NRZ(1:Lt).*ht;
subplot(222)
plot(t,s_2ask);
ylabel('2ASK');
 
d_2psk = 2*d_NRZ-1;
s_2psk=d_2psk(1:Lt).*ht;
subplot(223)
plot(t,s_2psk);
ylabel('2PSK')
 
sd_2fsk=2*d_NRZ-1;
s_2fsk=A*cos(2*pi*fc*t+2*pi*sd_2fsk(1:length(t)).*t);
subplot(224)
plot(t,s_2fsk);
ylabel('2FSK')

其中使用到的函数如下
 




% sigexpand.m
%
% Simulation program to expand the symbol sequence
%
% Programmed by Y.S. Cui and H.Harada
%
function [out]=sigexpand(d,M)   
N=length(d);             %基带信号码元长度
out=zeros(M,N);          %矩阵M为采样点  N为基带信号码元数量
out(1,:)=d;              %将零矩阵第一行换成基带信号中的8个码元
out=reshape(out,1,M*N);  % 1行 m*n 列

————————————————
版权声明:本文为CSDN博主「机器视觉-zjuer」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u014410989/article/details/84964723333

×

感谢您的支持,我们会一直保持!

扫码支持
请土豪扫码随意打赏

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

打赏作者
版权所有,转载注意明处:辉小窝 » 《通信电子线路》顾宝良 编著附录Matlab程序A.4二进制数字调制与解调A4.1 2ASK,2PSK,2FSK

发表评论

表情
看不清楚?点图切换

网友评论(0)