![](https://csdnimg.cn/release/download_crawler_static/87138209/bg9.jpg)
3.3PCM 脉冲编码调制的仿真
3.3.1 PCM 抽样的仿真
PCM 抽样的 MATLAB 程序设计按如下步骤进行:
(1)确定输入的模拟信号为 sa(200t);
(2)根据输入的模拟信号,确定抽样频率,对输入信号进行抽样,并将正
常抽样和会产生失真的抽样进行对比,对抽样定理加以验证;
(3)编写程序,画出满足采样定理和不满足的时、频域图形。
MATLAB 源程序:
function sample()
t0=10; %定义时间长度
ts=0.001; fs=1/ts;
t=[-t0/2:ts:t0/2]; %定义时间序列
df=0.5; %定义频率分辨率
x=sin(200*t); m=x./(200*t+eps);
w=t0/(2*ts)+1; %确定 t=0 的点
m(w)=1; %修正 t=0 点的信号值
m=m.*m;
[M,mn,dfy]=fft_seq(m,ts,df); %傅立叶变换
M=M/fs;
f=[0:dfy:dfy*length(mn)-dfy]-fs/2; %定义频率序列
figure(1)
subplot(2,1,1); plot(t,m);
xlabel(' 时 间 ');ylabel(' 幅 值 ');title(' 原 始 信 号
(fh=200/2piHz)的波形');
axis([-0.15,0.15,0,1.5]);
subplot(2,1,2);
plot(f,abs(fftshift(M)));
xlabel('频率');ylabel('幅值');
axis([-500,500,0,0.03]);title('原始信号的频谱');
t0=10; %信号持续的时间
ts1=0.005; %满足抽样条件的抽样间隔
fs1=1/ts1;
t1=[-t0/2:ts1:t0/2]; %定义满足抽样条件的时间
序列