📄 d_a_1.m
字号:
function [re_voltag,re_sampl,re_sampl1]=d_a_1(re_pcm,sampl,D,N)
%输入信号re_pcm为PCM二进制自然编码序列,D为量化电平数,N为内插点数;输出信号re_voltag为恢复出的量化电平值,re_sampl为恢复出的单频正弦波模拟信号。
%对PCM二进制自然编码序列进行数据处理
for i=1:length(re_pcm)
if isnumeric(re_pcm(i))==1
re_pcm1(i)=num2str(re_pcm(i));
end
end
re_pcm1=reshape(re_pcm1,ceil(log2(D)),41);
re_pcm1=re_pcm1'
re_voltag=bin2dec(re_pcm1);
%由pcm二进制自然编码序列恢复出单频正弦波模拟信号
d=2/D;
re_sampl=-1+re_voltag*d+d/2;
%内插N-1个0点
re_sampl1=zeros(length(re_sampl),N);
re_sampl1(:,N)=re_sampl(:,1);
re_sampl1=re_sampl1';
re_sampl1=reshape(re_sampl1,length(re_sampl1)*N,1);
%低通滤波器
b1=zeros(1,N-1);
for j=1:N-1;
b1(j)=j/N;
end
b=[0,b1,1,fliplr(b1),0];
%做卷积
re_sampl2=conv(b,re_sampl1);
%画图
figure(7)
subplot(3,1,1);
s=1:length(sampl);
plot(s,sampl);
title('原始归一化正弦波形图');
subplot(3,1,2);
a=1:length(re_sampl);
plot(a,re_sampl,'.r-');
title('不用内插法恢复后的正弦波形图');
subplot(3,1,3);
n=1:length(re_sampl2);
plot(n,re_sampl2,'.g-');
axis([-0.2 450 -1.2 1.2]);
title('用内插法恢复后的正弦波形图');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -