📄 test2.asv
字号:
clc,clear
[x, fs]=wavread('no1.wav');
sound(x, fs); % 播放此音频
time=(1:1024)/fs; % 时间轴的向量
figure(1);
plotspec(x,1/fs); % 时域和频域波形
%============================================================
N=128; %滤波器的长度
NUM=1000;
Ts=1/fs;
%Ts=1/NUM;
div=0.1; %截止频率的初始步长
eval=exp(-j*pi*(0:N-1)/2); %在ω=n*pi/2处的复指数值
freq=0.5; %初始化截止频率
target=1/sqrt(2); %在ω=n*pi/2处,希望得到的幅值
h0=fir1(N-1,freq,blackman(N)); %用窗函数法找到滤波器系数
figure(2);plotspec(h0,Ts);
lenH=length(h0);
h1=zeros(1,lenH);
for n=1:lenH
h1(n)=(-1)^(n-1)*h0(n);
end
figure(3);plotspec(h1,Ts); % 滤波器的时域和频域波形
x0=filter(h0,1,x);
x1=filter(h1,1,x);
figure(4); plotspec(x0,Ts); %第一路滤波信号的时域和频域波形
figure(5); plotspec(x1,Ts); %第二路滤波信号的时域和频域波形
g0=zeros(1,lenH);
g1=zeros(1,lenH);
for n=1:lenH
g0(n)=2*h0(n);
g1(n)=-2*((-1)^(n-1))*h0(n);
end
x00 = DPCM_function(x0); %DPCM编码
x11 = DPCM_function(x1); %DPCM编码
figure(6); plotspec(x00,Ts); %第一路信号DPCM编码后的时域和频域波形
figure(7); plotspec(x11,Ts); %第二路信号DPCM编码后的时域和频域波形
y0=filter(g0,1,x00);
y1=filter(g1,1,x11);
figure(8); plotspec(y0,Ts); %第一路滤波信号的时域和频域波形
figure(9); plotspec(y1,Ts); %第二路滤波信号的时域和频域波形
X=y0+y1;
figure(10); plotspec(X,Ts); %最后处理后的时域和频域波形
sound(X, fs); %播放此音频
%=====================求编码速率=============================================
R
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -