⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test2.m

📁 利用MATLAB实现正交滤波器组的设计。
💻 M
字号:
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,r1] = DPCM_function(x0);              %DPCM编码
[x11,r2] = 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);			              %播放此音频

%=====================求编码速率=============================================
r1
r2




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -