概述
:L 基于MATLAB的PCM脉冲编码调制仿真实现
一道MATLAB题运行不出来.帮看看为什么.(有的人说好象开头没有定义变量,请帮忙给改好了,万分感谢的)
设输入信号为 x(t)=Acsin2Лt,对x(t)信号进行抽样、量化和A律PCM编码,经过传输后,接收端进行PCM译码。
画出经过PCM编码、译码后的波形与未编码波形;
设信道没有误码,画出不同Ac情况下,PCM译码后的量化信噪比。
解:仿真的系统框图如图所示。
图为A律PCM量化器的动态范围仿真框图
%show the pcm encode and decode
clear all;
close all;
t = 0:0.01:10;
vm1 = -70:1:0; %输入的正弦信号幅度不同
vm = 10.^(vm1/20);
figure(1)
for k = 1:length(vm)
for m = 1:2
x = vm (k)*sin(2*pi*t+2*pi*rand(1));
v = 1;
xx = x/v;%normalize
sxx = floor(xx*4096);
y = pcm_encode(sxx);
yy = pcm_decode(y,v);
nq(m) = sum((x-yy).*(x-yy))/length(x);
sq(m) = mean(yy.^2);
snr(m) = (sq(m)/nq(m));
dr
最后
以上就是现实悟空为你收集整理的matlab仿真程序编写,基于MATLAB的PCM脉冲编码调制仿真实现的程序编写的全部内容,希望文章能够帮你解决matlab仿真程序编写,基于MATLAB的PCM脉冲编码调制仿真实现的程序编写所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复