基于Matlab的脉冲编码调制(PCM)系统设计与仿真课程设计任务书 联系客服

发布时间 : 星期一 文章基于Matlab的脉冲编码调制(PCM)系统设计与仿真课程设计任务书更新完毕开始阅读050afc5359fafab069dc5022aaea998fcc224000

figure(3)

subplot(2,1,1); stem(t2,m2);

xlabel('时间');ylabel('幅值');title('抽样失真(fs=100Hz)时的信号波形'); axis([-0.15,0.15,0,1]);subplot(2,1,2) plot(f2,abs(fftshift(N2)));

xlabel('频率');ylabel('幅值');axis([-500,500,0,0.02]);

title('抽样失真时的信号频谱');axis([-500,500,0.005,0.02]); function [M,m,df]=fft_seq(m,ts,df) fs=1/ts;

if nargin==2 n1=0 else

n1=fs/df end

n2=length(m);n=2^(max(nextpow2(n1),nextpow2(n2))); M=fft(m,n);m=[m,zeros(1,n-n2)];df=fs/n PCM抽样仿真结果:

原始信号(fh=200/2piHz)的波形1.51幅值0.50-0.1-0.0500.05时间原始信号的频谱0.10.150.030.02幅值0.010-500-400-300-200-1000频率100200300400500

图4.1 PCM模拟输入信号波形及频谱

抽样正常(fs=200Hz)时的信号波形1幅值0.50-0.1-0.0500.05时间抽样正常时的信号频谱0.10.150.030.02幅值0.010-0.01-500-400-300-200-1000频率100200300400500

图4.2 PCM正常抽样时信号的波形及频谱

抽样失真(fs=100Hz)时的信号波形1幅值0.50-0.1-0.0500.05时间抽样失真时的信号频谱0.10.150.020.015幅值0.010.005-500-400-300-200-1000频率100200300400500

图4.3 PCM抽样失真时信号的波形及频谱

4.2 PCM量化的MATLAB实现

4.2.1 PCM均匀量化的MATLAB实现

PCM均匀量化的MATLAB程序设计按如下步骤进行: (1)确定输入模拟信号为sin(t);

(2)根据均匀量化的原理均匀量化的算法程序; (3)绘制并比较模拟输入信号与量化输出的波形。

PCM抽样的MATLAB实现源程序如下:

function average() t=[0:0.01:4*pi]; y=sin(t);

w=jylh(y,1,64); subplot(2,1,1); plot(t,y);

xlabel('时间'); ylabel('幅度');

axis([0,4*pi,-1.1,1.1]); title('原始信号'); subplot(2,1,2); plot(t,w); xlabel('时间'); ylabel('幅度');

axis([0,4*pi,-1.1,1.1]); title('均匀量化后的信号'); function h=jylh(f,V,L) n=length(f);t=2*V/L; p=zeros(1,L+1);

for i=1:L+1,p(i)=-V+(i-1)*t;end for i=1:n

if f(i)>V,h(i)=V;end if f(i)<=-V,h(i)=-V;end flag=0;

for j=2:L/2+1 if(flag==0)

if(f(i)

flag=1; end; end; end;

for j=L/2+2:L+1 if(flag==0)

if(f(i)

nq=V^2/(3*L^2); 仿真结果:

原始信号10.5幅度0-0.5-102468时间均匀量化后的信号101210.5幅度0-0.5-10246时间81012

图4.4 PCM均匀量化波形

4.2.2 PCM A律非均匀量化的MATLAB实现

PCM A律非均匀量化的MATLAB程序设计按如下步骤进行: (1)确定输入模拟信号;

(2)根据非均匀量化的原理确定A律非均匀量化的算法程序;