树形结构滤波器组设计Word下载.docx

上传人:b****3 文档编号:17105072 上传时间:2022-11-28 格式:DOCX 页数:26 大小:168.95KB
下载 相关 举报
树形结构滤波器组设计Word下载.docx_第1页
第1页 / 共26页
树形结构滤波器组设计Word下载.docx_第2页
第2页 / 共26页
树形结构滤波器组设计Word下载.docx_第3页
第3页 / 共26页
树形结构滤波器组设计Word下载.docx_第4页
第4页 / 共26页
树形结构滤波器组设计Word下载.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

树形结构滤波器组设计Word下载.docx

《树形结构滤波器组设计Word下载.docx》由会员分享,可在线阅读,更多相关《树形结构滤波器组设计Word下载.docx(26页珍藏版)》请在冰豆网上搜索。

树形结构滤波器组设计Word下载.docx

本次课程设计,分别用对称结构和非对称结构滤波器组设计,实现语音信号或别的信号3级分解8通道传输。

我组用的matlab编程实现方法。

一个语音处理系统主要包括语音信号的采集,预处理,语音信号的压缩编码,语音信号的解码,语音信号的增强,最后通过音频输出设备输出。

为了能够使采集到的语音信号能够完全恢复出来,一般信号的采样频率都是很高的,例如44100HZ,但是人耳能够识别的声音信号的频率范围在300~3400HZ,高于3400HZ的频率基本对人耳无效,因此可以滤除不予编码,同时在300~3400的频率段也有部分频率段占用很少一部分能量,可以子带分解后用较短的码长编码,以此来降低码率,而对低频部分可以通过抽取,来减少传输和处理的数据量。

在接收端可以通过插值恢复出低频信号。

本系统主要实现的关键步骤是针对语音信号的频谱设计与之相适应的树形滤波器组,在信源段首先对音频信号进行预处理滤除多余的频段,然后就是设计信源端得分析滤波器组和信宿段综合滤波器组的设计。

以以语音信号为例,这里只分析对称滤波器组的设计(非对称的自然就明白了):

将信号经过2通道正交镜像滤波器组和2-抽取器,完成信号的第一次高低分频和抽取,然后分别将分解出来的低频高频信号再次通过2通道正交镜像滤波器组和2-抽取器,实现对第一次分解出来的低频高频信号的高低分频和抽取,将分解出来的4个频段成分在经过2通道正交镜像滤波器组和2-抽取器,实现8通道,就是音频信号的需要传输或者处理的有用信号,然后对分解出来的有用信号的高低频信号分别进行插值再对应两两合并,得到4个信号再次插值,合并,得到2个信号,再次插值,合并,得到信宿端信号。

这就是信源的分解滤波器组,将音频信号分解成8通道信号,进行存储或传输等一系列处理。

期间用到的滤波器等:

1.预滤波时用到带通滤波器300~3400hz。

椭圆型带通滤波器

functiony1_yu=pre_process(y1)

Fs=8000;

fpl=300;

fpu=3400;

fsl=200;

fsu=3600;

wp=[2*fpl/Fs,2*fpu/Fs];

ws=[2*fsl/Fs,2*fsu/Fs];

rp=1;

rs=40;

[N,wpo]=ellipord(wp,ws,rp,rs);

[B,A]=ellip(N,rp,rs,wpo);

[H,w]=freqz(B,A);

y1_yu=filter(B,A,y1);

2.正交镜像滤波器组含高通和低通滤波(1/2)用于分解信号为2个一个高频一个低频、,抽取用到2级抽取downsample函数

function[y1,y2]=fenjie(x)

fs=44100;

t2=0:

1/fs:

(length(x)-1)/fs;

a1=fir1(100,1/2);

窗函数长度100.3db截止频率为1/2

a2=qmf(a1);

w1=filter(a1,1,x);

%低通滤波

w2=filter(a2,1,x);

%高通滤波

%抽取

y1=downsample(w1,2);

%抽取2

y2=downsample(w2,2);

其中参数值子程序

求H0(Z)和G0(Z)的值

(1)H0(Z)

figure(19)

x=0:

1:

100;

subplot(2,1,1)

stem(x,a1,'

.'

);

subplot(2,1,2)

stem(x,a2,'

(2)G0(Z)

a2=qmf(-a1);

3.插值2级用到interp函数、合并时用到求长度保持一致后相加

functiony=hebing(y1,y2,n1,n2)

%信号的零插值和低通滤波

y1=interp(y1,2);

y2=interp1(y2);

n=min(length(y1),length(y2));

y1=y1(1:

n);

y2=y2(1:

%信号的合并

y=y1+y2;

其中子程序functionf=interp1(x)

%实现信号的零插值

f=interp(x,2);

fori=1:

length(x)

f(2*i)=0;

end

a1=fir1(200,1/2,'

high'

f=filter(a1,1,f);

非对称滤波器组设计原理类似的(略)

二.设计原理

1、抽取和内插的基本原理

信号的M-抽取是对原始信号每隔M-1个点取一个点,组成新的采样序列。

抽取后的信号频谱发生了变化,输入信号x(n)与M—抽取后的输出信号y(n)在频域上的关系式如下:

Y(e^jw)=(打印后自己手写)

从上式可以知道,Y(ejw)是将X(ejw)扩展了M倍,幅度变为原来的1/M,在分别以2pi、4pi、6pi,·

·

,2kpi移位叠加得到的;

抽取后可能造成频谱混叠,为了避免抽取后的频谱混叠,信号X(n)的带宽必须限制在【-pi/M,pi/M】。

通常情况下可以再抽取器前进行抗混叠滤波,所谓的抗混叠滤波就是在抽取前对信号进行低通滤波,把信号的频带限制在【-pi/M,pi/M】。

信号的内插是信号抽取的逆过程,是在已知信号相邻抽样点之间插入若干个抽样值的点。

实际中的做法是在已知抽样序列之间插入若干零值,然后通过低通滤波器,几个实现内插。

其实就相当于线性插值。

L-内插输入信号x(n)与输出信号的频域关系式:

Y(ejw)=X(ejwL)

从上式我们知道,对信号的L-内插相当于对输入信号频谱的L倍压缩,内插后信号的采样周期变为原来的1/L倍。

内插不会造成频谱混叠,不会造成信号信息量的丢失,但会使整个数字信号频率轴插入L-1个原始信号的频谱,称为镜像。

因此在插值后我们可以通过一个低通滤波器,来消除内插带来的镜像,恢复出原始信号。

2、滤波器组的基本原理

滤波器组是一组拥有共同输入信号或共同输出信号的一组带通滤波器。

(系统框图如下)

M通道滤波器组的系统结构

(手绘)

信号的子带分解是通过树形结构滤波器组来实现。

本系统中有一个分析滤波器组实现对输入信号的子带分解,一个综合滤波器组完成信号的重建。

一个给定的信号经过分解滤波器组分解,然后编码、传输再通过综合滤波器组实现信号的恢复和重建。

但是恢复和重建后的信号并不能与原始信号完全相同,两者之间会产生一定的误差,主要包括:

(1)混叠失真:

由抽取和内插产生的混叠和镜像带来的误差所造成的。

(2)幅度失真:

由滤波器组幅频特性波纹产生的误差所造成的。

(3)相位失真:

由滤波器组的相频特性的非线性产生的误差所造成的。

(4)子带量化误差:

由编解码产生的误差,与量化噪声相似。

这是一种无法完全消除的误差。

完全重建滤波器组:

无混叠失真的滤波器组,同时既无幅度失真,又无相位失真。

本系统所设计的树形结构滤波器组,是由两通道的正交镜像滤波器组通过级联或并联组建而成的。

3.正交镜像滤波器组

两通道正交镜像滤波器组的系统框图如下

上图中可以设

H0(z)=H(z)(1.1)

H1(z)=H(-z)(1.2)

G0(z)=H(z)(1.3)

G1(z)=-H(-z)(1.4)

上式说明如果H0(z)是低通滤波器,那么H1(在)则是高通滤波器。

同时H0(ejw)与H1(ejw)关于pi/2成镜像对称,所以称这种滤波器成为正交镜像滤波器组,简称QMFB。

满足1.1式~1.4式的滤波器组称为标准QMF滤波器组,它是一种无混叠失真的滤波器组。

树形结构的滤波器组:

将两通道滤波器组的级联来实现多通道滤波器组。

具体做法就是将各通道的输出作为下一个滤波器组的输入。

这种实现方式的优点是:

可根据两通道滤波器组的特性来推断它的特性(是否能够完全重建等),通过非对称来实现多抽样率的子带分割。

两通道QMFB非对称的分析滤波器框图

三.设计框图

四.设计程序

(1)对称树形结构滤波器组设计程序(见附页)

(2)非对称树形滤波器组设计程序(见附页)

五.设计结果图

1.对称结构

原始信号和预滤波后信号的时域波形对比

原始信号和预滤波后的信号的频域对比

三次分解后高频信号和低频信号的频谱(8个)

三次分解后高频信号和低频信号的时域波形(8个)

预滤波信号与信宿端恢复出来的信号的时域对比

预滤波信号与信宿端恢复出来的信号的频域对比

正交镜像滤波器组的高频低频输出值参数

2.非对称结构

原始信号和预滤波后信号的时域波形对比

七级非对称分解后8通道信号的频谱及时域波形

六.设计结果图分析

本系统首先对输入的信号进行预滤波,滤除频段(300~3400)以外的信号,本系统设计了一个椭圆形带通滤波器,从实验图看出,本系统设计的预滤波器完全满足系统的滤波要求,滤除了低于300HZ和高于3400HZ的频率分量,同时也没有带来相位失真。

对于非对称结构:

然后将预滤波后的信号进行3级非对称分解,得到低频信号和高频信号,从图可以看出进行三级分解后的低频信号和高频信号均扩展到整个数字频率轴,且高频信号的能量已经占到很大比重,此时已经把有用信号的频率分量已经分离出来。

从图可以看出,8通道信号能量由低频到高频,呈现由高到低完全符合声音信号的能量分布,分解效果很好。

在接受端进行信号的综合,从图可以看出综合后的高频信号频谱和低频信号频谱,通过对比可以看出,信源端分解前的信号频谱,分解后再综合信号的频谱相似度很高,符合设计的要求。

重建后信号与原始信号的时域和频域对比图,可以看出,恢复出来的信号与原始信号仅在能量上存在一定的线性失真,可以通过放大器予以恢复和重建。

最后将恢复出来的信号写入文件,在播放器上进行播放,与原始信号相比,听不出来差别,本系统完全满足设计要求。

七.设计心得

在本次课程设计中学会了好多matlab函数的使用,各种滤波器的设计,了解了正交镜像滤波器工作原理,抽样,插值的意义,用数形结构滤波器组更方便信号的传输高效性,了解了利用树形结构滤波器的工作原理,更加深了信号在信道中传输的过程。

学会了好多数字信号及matlab应用方面的知识,起初用simlink设计时对参数的设计我们遇到了瓶颈改用matlab编程设计,大大加深了matlab的广泛应用性。

期间查阅了许多资料,从网上下载了一个程序,一点也看不懂,后经过图书馆借书查,询问同学老师,解决了不少问题。

并通过对程序的更改及自己的理解,将程序改为8通道的树形结构滤波器。

本次设计做了两个结构滤波器,其实掌握了对称的结构原理,非对称的就很容易了。

另外,了解了语音信号的读取及回放用matlab实现。

了解了语音信号的3级分解抽取后经过传输后插值3级合并过程的意义。

只要用心去做多动脑子多查资料多问,其实课程设计没有起初自己想的那么难。

感谢老师给我了这次学习的机会,让我获益匪浅。

八.参考资料

3.Matlab7辅助信号处理技术与应用.电子工业大学出版社

4.网络

附页

程序

(1)对称结构

clearall;

N=4096*8;

%采集点数

[y,fs,bits]=wavread('

1.wav'

[20000,20000+N-1]);

%读取音频信息

y1=y(:

1);

%y2=y(:

2);

t=0:

(N-1)/fs;

%time

figure

(1);

subplot(2,2,1);

plot(t,y1);

%1通道信号

title('

原始信号'

);

xlabel('

t'

),ylabel('

幅度'

y1_yu=pre_process(y1);

%语音信号预处理人耳可识别范围(300~3400),因此多于此频率的信号可以滤掉而不用传输

subplot(2,2,2);

plot(t,y1_yu);

%滤波后的信号时域波形

预滤波后的信号波形'

subplot(2,2,3);

y11=fft(y1,fs);

plot(abs(y11));

原信号的频谱'

f'

axis([0,44100,0,500])

subplot(2,2,4);

y1_yu1=fft(y1_yu);

plot(abs(y1_yu1));

预滤波后信号频谱'

[f1,f2]=fenjie(y1_yu,1);

%1次分解

[f1_1,f1_2]=fenjie(f1,1,10);

%21次分解

[f2_1,f2_2]=fenjie(f2,1,10);

%22次分解

[f1_1_1,f1_1_2]=fenjie(f1_1,1,10);

%31,32分解

[f1_2_1,f1_2_2]=fenjie(f1_2,1,10);

%33,34分解

[f2_1_1,f2_1_2]=fenjie(f2_1,1,10);

%35,36分解

[f2_2_1,f2_2_2]=fenjie(f2_2,1,10);

%37,38次分解

figure

(2)

subplot(4,2,1)

n=length(f1_1_1)

8/fs:

8.*(n-1)/fs

plot(t,f1_1_1)

3级第1个分解并抽取后部分'

subplot(4,2,2)

n=length(f1_1_2)

plot(t,f1_1_2);

3级第2个分解并抽取后部分'

subplot(4,2,3)

n=length(f1_2_1)

plot(t,f1_2_1)

3级第3个分解并抽取后部分'

subplot(4,2,4)

n=length(f1_2_2)

plot(t,f1_2_2);

3级第4个分解并抽取后部分'

subplot(4,2,5)

n=length(f2_1_1)

plot(t,f2_1_1)

3级第5个分解并抽取后部分'

subplot(4,2,6)

n=length(f2_1_2)

plot(t,f2_1_2);

3级第6个分解并抽取后部分'

subplot(4,2,7)

n=length(f2_2_1)

plot(t,f2_2_1)

3级第7个分解并抽取后部分'

subplot(4,2,8)

n=length(f2_2_2)

plot(t,f2_2_2);

3级第8个分解并抽取后部分'

figure(3)

f1111=fft(f1_1_1,fs);

plot(abs(f1111))

3级第1个分解并抽取后部分频谱'

f1112=fft(f1_1_2,fs);

plot(abs(f1112))

3级第2个分解并抽取后部分频谱'

f1113=fft(f1_2_1,fs);

plot(abs(f1113))

3级第3个分解并抽取后部分频谱'

f1114=fft(f1_2_2,fs);

plot(abs(f1114))

3级第4个分解并抽取后部分频谱'

f1115=fft(f2_1_1,fs);

plot(abs(f1115))

3级第5个分解并抽取后部分频谱'

f1116=fft(f2_1_2,fs);

plot(abs(f1116))

3级第6个分解并抽取后部分频谱'

f1117=fft(f2_2_1,fs);

plot(abs(f1117))

3级第7个分解并抽取后部分频谱'

f1118=fft(f2_2_2,fs);

plot(abs(f1118))

3级第8个分解并抽取后部分频谱'

yo=hebing8(f1_1_1,f1_1_2,f1_2_1,f1_2_2,f2_1_1,f2_1_2,f2_2_1,f2_2_2);

figure(4);

%合成后的信号与原来预滤波后的信号对比

subplot(4,1,1);

预滤波后的信号'

subplot(4,1,3);

n=length(yo);

(n-1)/fs;

plot(t,yo);

信宿端恢复信号'

subplot(4,1,4)

yo1=fft(yo,fs)

plot(abs(yo1));

信宿恢复信号频谱'

subplot(4,1,2)

wavwrite(yo,fs,'

3.wav'

子程序

%树形结构分解子程序(完成信号的2通道分解以及降采样率)

function[y1,y2]=fenjie(x,n1,n2,fp)

functionf=hebing8(y1_1_1,y1_1_2,y1_2_1,y1_2_2,y2_1_1,y2_1_2,y2_2_1,y2_2_2)

%信号的3次合并

y1_1=hebing(y1_1_1,y1_1_2,1,10);

y1_2=hebing(y1_2_1,y1_2_2,1,10);

y2_1=hebing(y2_1_1,y2_1_2,1,10);

y2_2=hebing(y2_2_1,y2_2_2,1,10);

%信号的2次合并

y1=hebing(y1_1,y1_2,1,10);

y2=hebing(y2_1,y2_2,1,10);

%信号的1次合并

f=hebing(y1,y2,1,10);

%树形结构综合子程序(完成2通道信号的综合)

functiony=hebing(y1,y2,n1,n2)

%信号的零插值和低通滤波

y1=interp(y1,2);

y2=interp1(y2);

n=min(length(y1),length(y2));

y1=y1(1:

y2=y2(1:

%信号的合并

y=y1+y2;

%信号插值子程序(完成信号的零插值和高通滤波)

functionf=interp1(x)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1