旧言虐心 发表于 2016-5-11 10:17

用matlab对象进行数字基带调制解调(M-DPSK)

<font face="Times New Roman">%% 仿真实现基带M-DPSK调制与解调
%% 利用Matlab modem object
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%   h = modem.dpskmod(property1, value1, ...)
%   h = modem.dpskmod(DPSKdemod_object)
%   h = modem.dpskmod(DPSKdemod_object, property1,value1, ...)
%   h = modem.dpskmod
%   if you have creat an object h for DPSK modulate, then the method
%   'modulate' can be used to modulate your signal x such as:
%   y = modulate(h, x)
%   and demodulation method need to creat an object
%   h = modem.dpskdemod(property1, value1, ...)
%   h = modem.dpskdemod(DPSKmod_object)
%   h = modem.dpskdemod(DPSKmod_object, property1,value1, ...)
%   h = modem.dpskdemod
%   if you have creat an object h for DPSK demodulate, then the method
%   'demodulate' can be used such as
%   y = demodulate(h, x)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc
clear all
close all hidden
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

M = 4;                   % The order for modulate of DPSK
nPacket = 5000;         % The signal length
x = randint(nPacket,1,M); % Signal for modulate

h = modem.dpskmod('M',M);      % Creat an object of DPSK modulation
y = modulate(h,x);      % modulate x get y
scatterplot(y);
yn = awgn(y,15,'measured'); % Pass the gauss channel with SNR=15dB
scatterplot(yn);
reset(h);                     
h = modem.dpskdemod('M',M);
z = demodulate(h,yn);
= symerr(x,z)

%% Process rectanglar pulse shaping
Nsamp = 4;               % Oversampling rate
ypulse = rectpulse(y,Nsamp);
ynoisy = awgn(ypulse,15,'measured');
ydownsamp = intdump(ynoisy,Nsamp);
scatterplot(ydownsamp);
reset(h);
h = modem.dpskdemod('M',M);
z = demodulate(h,ydownsamp);
= symerr(x,z)</font>转自:http://blog.sina.com.cn/s/blog_5def5a660100j3b9.html
页: [1]
查看完整版本: 用matlab对象进行数字基带调制解调(M-DPSK)