matlab差分编码,差分编码FSK调制解调matlab源程序

Fc=10; %载频

Fs=100; %系统采样频率

Fd=1; %码速率

N=Fs/Fd;

df=10;

numSymb=25;%进行仿真的信息代码个数

M=2;

SNRpBit=60;%信噪比

SNR=SNRpBit/log2(M);

numPlot=25; %产生25个二进制随机码

x=randsrc(numSymb,1,[0:M-1]);%产生25个二进制随机码figure(1)

stem([0:numPlot-1],x(1:numPlot),'bx');

title('二进制随机序列')

xlabel('Time');

ylabel('Amplitude');

b=zeros(1,26); %全零数组

b(2)=xor(b(1),x(1)) %或非

for n=2:25

b(n+1)=xor(x(n),b(n));

end

for n=1:25

x(n)=b(n+1);

end

figure(2)

stem([0:numPlot-1],x(1:numPlot),'bx');

title('差分编码')

xlabel('Time');

ylabel('Amplitude');

y=dmod(x,Fc,Fd,Fs,'psk',M,df);

numModPlot=numPlot*Fs;

t=[0:numModPlot-1]./Fs;

figure(3)

plot(t,y(1:length(t)),'b-');

axis([min(t) 2 -1.5 1.5]); %x轴y轴范围

title('调制信号')

xlabel('Time');

ylabel('Amplitude');

seed=[12345 54321];

randn('state',seed(2)); %产生正态分布的随机数或矩阵的函数y=awgn(y,SNR-10*log10(0.5)-10*log10(N),'measured',[],'dB');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值