基于MATLAB的通信系统仿真—PCM系统仿真通信原理课程设计

发布时间 : 星期四 文章基于MATLAB的通信系统仿真—PCM系统仿真通信原理课程设计更新完毕开始阅读

t = 0:1/fs:Ts*L-1/fs; for i=1:L if Sign(i)==1

sign1((i-1)*m +1:i*m) = High; else

sign1((i-1)*m +1:i*m) = Low; end end for i=1:L if Sign(i) == 1

st((i-1)*m +1:i*m) =cos(2* pi*w *t((i-1)*m + 1:i*m)+(pi/ 2)); else

st((i-1)*m +1:i*m) =cos(2* pi*w *t((i-1)*m + 1:i*m)); end end st1=st;

st1=st1+cos(3000*t); figure

plot(t, sign1);

axis( [0,Ts*(L+1),-(1/2),3/2] ); title ( '编码后的信号' ); grid

figure

subplot (2,1,1); plot (t,st );

axis([0,Ts*(L+1), - 3/ 2,3/2] ); title ( '数字调制后的信号' ); grid

subplot (2,1,2); plot ( t, st1 );

axis( [0,Ts*(L+1)+1, -5/2,5/2]); title ( '加噪后的信号' ); grid

dt = st1.*cos(2*pi*w*t ); figure plot (t,dt);

axis( [0,Ts*(L+1),-2,5/2] ); title ( '与相干波相乘后的波形' ); grid

[N,Wn] = buttord( 2*pi*50, 2*pi*100,3,25,'s'); %临界频率采用角频率表示

[b,a]=butter(N,Wn,'s');

[bz,az]=impinvar(b,a,fs); %映射为数字的 dt = filter(bz,az,dt);

figure plot (t,dt);

axis( [0,Ts*(L+1),- 3/2,3/2] ); title ( '低通滤波后的波形' ); ss=dt; %存放抽样判决后的值 bit1=[];

tt=length(ss)/L; for i=tt/2:tt:length(ss) if ss(i)>(1/4)

ss((i-tt/2+1):(i+tt/2))=zeros ( 1,3000); bit1=[bit1,0]; else

ss((i-tt/2+1):(i+tt/2))=ones ( 1,3000); bit1=[bit1,1]; end end figure

plot (t,ss,'r-');

axis( [0,Ts*(L+1), -1/2,3/2] ); title ( '信道译码信号' ); grid bb=[];

U1=rem(length(bit1),7); l=length(bit1);

sheng1=[bit1(length(bit1))-U1+1:bit1(length(bit1))]; bit1([l-U1+1:bit1(l)])=[];

bb=xianxiyima(bit1); %线性分组码译码; bb=[bb,sheng1];

此函数的功能是将信源编码后的0、1序列再经过信道编码(7,4)线性分组码编码,将信道编码后的信号进行BPSK调制,由于考虑到在信道中传输是会有噪声的影响,所以在仿真时我人为的加入一定的噪声。

在接收端进行相干解调,用一个与调制信号同频的信号与接收到的信号(加入噪声后的已调信号)相乘,再用一个数字滤波器进行滤波,去掉了信号中的高频成份和噪声,取出直流分量,得到方波信号,对这个信号进行抽样判决将其转换成0、1比特流后,再经过信道译码。

子函数5:

function a3=yima(y,n) m=2/n; for i=1:n+1

q(i)=(-1)+(i-1)*m; end tt=[]; tt(1)=-1; for x=2:length(q)

联系合同范文客服:xxxxx#qq.com(#替换为@)