数字信号课设.docx

上传人:b****6 文档编号:6001464 上传时间:2023-01-02 格式:DOCX 页数:26 大小:149.85KB
下载 相关 举报
数字信号课设.docx_第1页
第1页 / 共26页
数字信号课设.docx_第2页
第2页 / 共26页
数字信号课设.docx_第3页
第3页 / 共26页
数字信号课设.docx_第4页
第4页 / 共26页
数字信号课设.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

数字信号课设.docx

《数字信号课设.docx》由会员分享,可在线阅读,更多相关《数字信号课设.docx(26页珍藏版)》请在冰豆网上搜索。

数字信号课设.docx

数字信号课设

一、课程设计的性质与目的

《数字信号处理》课程是通信专业的一门重要专业基础课,是信息的数字化处理、存储和应用的基础。

通过该课程的课程设计实践,使学生对信号与信息的采集、处理、传输、显示、存储、分析和应用等有一个系统的掌握和理解;巩固和运用在《数字信号处理》课程中所学的理论知识和实验技能,掌握数字信号处理的基础理论和处理方法,提高分析和解决信号与信息处理相关问题的能力,为以后的工作和学习打下基础。

数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。

根据其单位冲激响应函数的时域特性可分为两类:

无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。

二、课程设计题目

课程设计题目分为2个方向,每班选做方向一的同学约占2/3,选做方向二的约占1/3。

方向一:

数字滤波器设计及在语音信号分析中的应用。

步骤:

1、语音信号采集

录制一段课程设计学生的语音信号并保存为文件,要求长度不小于10秒,并对录制的信号进行采样;录制时可以使用Windows自带的录音机,或者使用其它专业的录音软件,录制时需要配备录音硬件(如麦克风),为便于比较,需要在安静、干扰小的环境下录音。

2、语音信号分析

使用MATLAB绘出采样后的语音信号的时域波形和频谱图。

根据频谱图求出其带宽,并说明语音信号的采样频率不能低于多少赫兹。

3、含噪语音信号合成

在MATLAB软件平台下,给原始的语音信号叠加上噪声,噪声类型分为如下几种:

(1)白噪声;

(2)单频噪色(正弦干扰);(3)多频噪声(多正弦干扰);(4)其它干扰,可设置为低频、高频、带限噪声,或Chirp干扰、冲激干扰。

绘出叠加噪声后的语音信号时域和频谱图,在视觉上与原始语音信号图形对比,也可通过Windows播放软件从听觉上进行对比,分析并体会含噪语音信号频谱和时域波形的改变。

4、数字滤波器设计及滤波,完成以下题目中的一个

给定滤波器的规一化性能指标(参考指标,实际中依据每个同学所叠加噪声情况而定)例如:

通带截止频率wp=0.25*pi,阻通带截止频率ws=0.3*pi;通带最大衰减Rp=1dB;阻带最小衰减Rs=15dB,每个题目至少设计出5个用不同方法的不同类型滤波器。

题目

(1):

采用窗函数法与等波纹法分别设计各型FIR滤波器(低通、高通、带通、带阻中的至少3种类型)来对叠加噪声前后的语音信号进行滤波处理,绘出滤波器的频域响应,绘出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;在相同的性能指标下比较各方法的滤波效果,并从理论上进行分析(或解释)。

题目

(2):

采用双线性变换法与脉冲响应不变法,分别利用不同的原型低通滤波器(Butterworth型与切比雪夫I型)来设计各型IIR滤波器(低通、高通、带通、带阻中的至少3种类型),绘出滤波器的频域响应;并用这些数字滤波器对含噪语音信号分别进行滤波处理,比较不同方法下设计出来的数字滤波器的滤波效果,并从理论上进行分析(或解释)。

5、回放语音信号

对滤波后的语音信号进行回放,感觉滤波前后语音信号的变化。

6、设计一个语音信号分析与处理系统界面(选作)

利用MATLAB的界面设计功能,设计一个MATLAB环境下的人机交互界面,完成上述滤波器的设计及滤波过程,要求能够接收输入的设计参数,查看设计结果及滤波结果。

方向二:

数字滤波器设计及在心电信号滤波中的应用。

步骤:

1、心电信号采集

心电信号作为心脏电活动在人体体表的表现,信号一般比较微弱,幅度在10μV~5mV,频率为0.05~100Hz。

在心电信号的采集、放大、检测及记录过程中,有来自外界的各种干扰。

记录一段时间内的人体心电信号波形,要求长度不小于10秒,并对记录的信号进行数字化,保存为数据文件;这里,请同学们使用美国的MIT/BIH心电原始数据,由实验老师给出一定长度的的心电原始数据,数据保存在文件“a01.txt~a10.txt”中,在MATLAB中通过如下语句读取:

%从当前路径下的a01.txt文件读取心电原始数据到变量a01中,a01为二维数据,第一列%为心电信号时间,第二列为心电信号幅度。

load(‘a01.txt’);

2、心电信号分析

使用MATLAB绘出数字化后的心电信号的时域波形和频谱图。

根据频谱图求出其带宽,并说明心电信号的基本特征。

3、含噪心电信号合成

在MATLAB软件平台下,给原始的心电信号叠加上噪声或干扰,干扰类型分为如下几种:

(1)白噪声;

(2)工频干扰(50Hz);(3)谐波干扰(二次、三次谐波为主,分别为100Hz、150Hz);(4)其它干扰,可设置为低频、高频、带限噪声,或冲激干扰。

绘出叠加噪声后的心电信号时域和频谱图,在视觉上与原始心电信号图形对比,绘出其时域波形差,分析频域基本特征变化。

4、数字滤波器设计及滤波,完成以下题目中的一个

给定滤波器的规一化性能指标(参考指标,实际中依据每个同学所叠加噪声情况而定)例如:

通带截止频率wp=0.25*pi,阻通带截止频率ws=0.3*pi;通带最大衰减Rp=1dB;阻带最小衰减Rs=15dB,每个题目至少设计出5个用不同方法的不同类型滤波器。

题目

(1):

采用窗函数法与等波纹法分别设计各型FIR滤波器(低通、高通、带通、带阻中的至少3种类型)来对叠加干扰前后的心电信号进行滤波处理,绘出滤波器的频域响应,绘出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;在相同的性能指标下比较各方法的滤波效果,并从理论上进行分析(或解释)。

题目

(2):

采用双线性变换法与脉冲响应不变法,分别利用不同的原型低通滤波器(Butterworth型与切比雪夫I型)来设计各型IIR滤波器(低通、高通、带通、带阻中的至少3种类型),绘出滤波器的频域响应;并用这些数字滤波器对含噪心电信号分别进行滤波处理,比较不同方法下设计出来的数字滤波器的滤波效果,并从理论上进行分析(或解释)。

5、心电信号波形观察、频谱观察

对滤波后的心电信号观察其时域、频域特征变化。

绘出滤波后、滤波前、加噪后三个心电信号的差值波形,观察相互间的差异性;同时,分析频谱变化。

学生也可选用持续时间更长的心电原始数据,加上干扰后按上述要求设计滤波器。

三、课程设计要求

1、在一周内学生须上机16小时以上,程序调试完后,须由指导老师在机器上检查运行结果,经教师认可后的源程序可通过打印机输出,并请教师在程序清单上签字。

2、课程设计报告内容和格式:

设计题目,设计的详细步骤,设计过程中的结果、图形等,设计总结。

3、每组每人必须独立完成,成绩的考核按设计结果、答辩成绩及课程设计报告来综合评定。

成绩分为优、良、中、及格、不及格五级分评定。

4、指导教师:

张细政等。

四、设计进度安排

通信工程0981:

17周周二上午、下午,E-513,任务讲解与布置,查找相关资料,准备课程设计,学生上机,按任务要求进行课程设计;

17周周三上午、下午,E-513,学生上机,按任务要求进行课程设计;

17周周四上午、下午,E-513,学生上机,按任务要求进行课程设计;

17周周五上午,E-513,学生上机,按任务要求进行课程设计;

18周周一上午,E-513,学生上机,按任务要求进行课程设计;

18周周四上午,E-513,学生完成任务,答辩;

18周周六、周日,撰写课程设计报告;

19周周一,提交课程设计报告。

五、课题的主要功能

5.1问题的描述

自己录取一段语音信号,在MATLAB平台下,进行时域和频域的分析,然后给原始的语音信号叠加上噪声,噪声类型分为如下几种:

(1)白噪声;

(2)单频噪色(正弦干扰);(3)多频噪声(多正弦干扰);(4)其它干扰,可设置为低频、高频、带限噪声,或Chirp干扰、冲激干扰。

同样进行时域和频域的分析,在根据这些图谱,分析数据,然后设计不同滤波器,滤去噪音。

绘出叠加噪声后的语音信号时域和频谱图,在视觉上与原始语音信号图形对比,也可通过Windows播放软件从听觉上进行对比,分析并体会含噪语音信号频谱和时域波形的改变。

5.2功能要求

首先,各同学采集自身的语音信号,在MATLAB软件平台下绘出采样后的语音信号的时域波形和频谱图;然后,给原始的语音信号叠加上噪声,绘出叠加噪声后的语音信号时域和频谱图,在视觉上与原始语音信号图形对比;再采用窗函数法与等波纹法(至少采用两种以上不同的窗函数)分别设计各型FIR滤波器(低通、高通、带通、带阻中的至少3种类型)来对叠加噪声前后的语音信号进行滤波处理,绘出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;在相同的性能指标下比较各方法的滤波效果,并从理论上进行分析(或解释)。

最后对滤波后的语音信号进行回放,感觉滤波前后语音信号的变化。

整个设计思路的设计原理示意图如图1所示:

 

给定滤波器的规一化性能指标(参考指标,实际中依据每个同学所叠加噪声情况而定)例如:

通带截止频率wp=0.25*pi,阻通带截止频率ws=0.3*pi;通带最大衰减Rp=1dB;阻带最小衰减Rs=15dB,每个题目至少设计出5个用不同方法的不同类型滤波器。

题目

(1):

采用窗函数法与等波纹法分别设计各型FIR滤波器(低通、高通、带通、带阻中的至少3种类型)来对叠加噪声前后的语音信号进行滤波处理,绘出滤波器的频域响应,绘出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;在相同的性能指标下比较各方法的滤波效果,并从理论上进行分析(或解释)。

题目

(2):

采用双线性变换法与脉冲响应不变法,分别利用不同的原型低通滤波器(Butterworth型与切比雪夫I型)来设计各型IIR滤波器(低通、高通、带通、带阻中的至少3种类型),绘出滤波器的频域响应;并用这些数字滤波器对含噪语音信号分别进行滤波处理,比较不同方法下设计出来的数字滤波器的滤波效果,并从理论上进行分析(或解释)。

六、设计原理

6.1.用窗函数法设计FIR滤波器

依据所叠加噪声的情况给定滤波器规一化性能指标,分别采用凯塞窗函数和汉宁窗函数法设计FIR数字低通、高通、带通、带阻(至少3种类型)来对叠加噪声前后的语音信号进行滤波处理,绘滤波器的频谱图,通过滤波前后的频谱图来比较各滤波器的滤波效果。

根据过渡带宽及阻带衰减要求,选择窗函数的类型并估计窗口长度N(或阶数M=N-1),窗函数类型可根据最小阻带衰减As独立选择,因为窗口长度N对最小阻带衰减As没有影响,在确定窗函数类型以后,可根据过渡带宽小于给定指标确定所拟用的窗函数的窗口长度N,设待求滤波器的过渡带宽为Δw,它与窗口长度N近似成反比,窗函数类型确定后,其计算公式也确定了,不过这些公式是近似的,得出的窗口长度还要在计算中逐步修正,原则是在保证阻带衰减满足要求的情况下,尽量选择较小的N,在N和窗函数类型确定后,即可调用MATLAB中的窗函数求出窗函数wd(n)。

根据待求滤波器的理想频率响应求出理想单位脉冲响应hd(n),如果给出待求滤波器频率应为Hd,则理想的单位脉冲响应可以用下面的傅里叶反变换式求出:

在一般情况下,hd(n)是不能用封闭公式表示的,需要采用数值方法表示;从w=0到w=2π采样N点,采用离散傅里叶反变换(IDFT)即可求出。

用窗函数wd(n)将hd(n)截断,并进行加权处理,得到

如果要求线性相位特性,则h(n)还必须满足:

根据上式中的正、负号和长度N的奇偶性又将线性相位FIR滤波器分成四类。

要根据所设计的滤波特性正确选择其中一类。

例如,要设计线性相位低通特性可选择h(n)=h(N-1-n)一类,而不能选h(n)=-h(N-1-n)一类。

验算技术指标是否满足要求,为了计算数字滤波器在频域中的特性,可调用freqz子程序,如果不满足要求,可根据具体情况,调整窗函数类型或长度,直到满足要求为止。

七、课题的功能模块的划分

7.1、语音信号的采样录音

录制一段课程设计自身的语音信号并保存为文件,要求长度不小于10秒,并对录制的信号进行采样;录制时可以使用Windows自带的录音机,或者使用其它专业的录音软件,录制时需要配备录音硬件(如麦克风),为便于比较,需要在安静、干扰小的环境下录音。

录音时,可以用windows自带的录音机,如果对信号相对要求比较高,也可以用比较专业的录音工具,录取后的格式为wav。

一般要求录音的时间不少于10秒钟,处于安静的环境下进行。

用自带录音机的话,按“开始”-“程序”-“附件”-“娱乐”-“录音机”的顺序操作打开Windows系统中的录音机软件。

如图所示:

7.2、含噪语音信号合成

在MATLAB软件平台下,给原始的语音信号叠加上噪声,噪声类型分为如下几种:

(1)白噪声;

(2)单频噪色(正弦干扰);(3)多频噪声(多正弦干扰);(4)其它干扰,可设置为低频、高频、带限噪声,或Chirp干扰、冲激干扰。

绘出叠加噪声后的语音信号时域和频谱图,在视觉上与原始语音信号图形对比,也可通过Windows播放软件从听觉上进行对比,分析并体会含噪语音信号频谱和时域波形的改变。

7.3、对数据进行分析,并设计滤波器进行滤波

通过MATLAB平台,对原始信号的时域和频域图谱进行分析,同时也对加噪后的信号进行时域和频域的分析,算出要设计滤波器的各性能指标,综合分析,设计相应的滤波器。

7.4、回放语音信号

对滤波后的语音信号进行回放,感觉滤波前后语音信号的变化。

7.5、设计一个语音信号分析与处理系统界面

利用MATLAB的界面设计功能,设计一个MATLAB环境下的人机交互界面,完成上述滤波器的设计及滤波过程,要求能够接收输入的设计参数,查看设计结果及滤波结果。

八、主要功能的实现

8.1、对原始信号进行时域和频域的分析

声音选定的属性为8000Hz,字节为16位;然后在matlab软件平台下,利用wavread函数对语音信号“I\:

信号2.wav”进行采样,并画出语音信号的时域波形和频谱图,对频谱图加以分析。

具体执行程序代码如下:

[x,fs,bits]=wavread('I:

\信号2.wav');

%sound(x,fs);

n=length(x);%求语音信号的长度

dt=10.00/n;%语音信号的时间为11s

t=dt:

dt:

10.00;%将所加噪声信号的点数调整到与原始信号相同

figure

(1);

subplot(211);plot(t,x,'r');

title('原始语音信号域波形');

xlabel('时间s');ylabel('幅值y(t)');

X=fft(x,n);magY=abs(X);

f=0:

fs/n:

fs*(n-1)/n;

subplot(212);plot(f,magY,'r');

%axis([02000100]);

title('原始语音信号频谱图');

xlabel('频率Hz');ylabel('幅值magY');

8.2、含噪语音信号的合成

1)加白噪音代码如下:

d1=0.05*randn(1,n)';%白噪声信号的函数

x1=x(:

1)+d1;%噪音信号叠加

%sound(x1,fs);

figure

(2);

subplot(211);plot(t,x1,'r');

xlabel('时间s');ylabel('幅值y(t)');

title('加白噪音的语音信号时域波形');

D1=fft(x1,n);magD1=abs(D1);

f=0:

fs/n:

fs*(n-1)/n;

subplot(212);plot(f,magD1,'r');

%axis([02000100]);

xlabel('频率Hz');ylabel('幅值magY');

title('加白噪音的语音信号噪声信号频谱图');

结果如下图所示:

2)加单频正弦噪音代码如下:

d2=[0.08*sin(2*pi*5000*t)]';%加单频正弦信号信号

X2=x(:

1)+d2;%噪音信号叠加

%sound(X2,fs);

figure(3)

subplot(211);plot(t,X2);

xlabel('时间s');ylabel('幅值y(t)');

title('加单频正弦信号的语音信号时域波形')

y2=fft(X2);magT=abs(y2);

subplot(212);plot(f,magT);

%axis([02000100]);

xlabel('频率Hz');ylabel('幅值magY');

title('加单频正弦信号的语音信号号频谱');

结果如下图所示:

3)加多频正弦噪音代码如下:

d3=[0.08*sin(2*pi*20*t)]';%加多频正弦信号信号

X3=x(:

1)+d2+d3;%噪音信号叠加

%sound(X3,fs);

figure(4)

subplot(211);plot(t,X3);

xlabel('时间s');ylabel('幅值y(t)');

title('加多频正弦信号的语音信号时域波形')

y3=fft(X3);magZ=abs(y3);

subplot(212);plot(f,magZ);

%axis([02000100]);

xlabel('频率Hz');ylabel('幅值magY');

title('加多频正弦信号的语音信号频谱');

4)加chirp噪音信号代码如下:

N=length(x)-1;

e=0.5*chirp(x(:

1),x(N,1),200);%chirp噪声信号的函数

k=x(:

1)+e;

[hc,wc]=freqz(k,1,N);

abs1=abs(hc);

figure(5);

subplot(211);plot(k);

xlabel('时间s');ylabel('幅值y(t)');

title('加chirp噪音后的噪声信号时域波形');

subplot(212);plot(wc/pi,abs1);

%sound(k,fs,bits);

%axis([02000100]);

xlabel('频率Hz');ylabel('幅值magY');

title('加chirp噪音后的噪声信号频谱图');

结果显示如下:

8.3、数字滤波器的设计及滤波

1)海明窗函数设计FIR低通滤波器设计方法

%海明窗低通滤波器

%[x,fs,bits]=wavread('E:

\信号2.wav');

%n=length(x);

%dt=10.00/n;

%t=dt:

dt:

10.00;

%d3=0.05*randn(1,n);%噪声信号的函数

%x3=x(:

1)+d1;%噪音信号叠加

%sound(x3,fs);

wp=0.25*pi;ws=0.3*pi;%性能指标

wdelta=ws-wp;%过度带宽度

M=ceil(3.32*pi/wdelta);%滤波器长度

N=2*M+1;%窗口长度

wc=(ws+wp)/2;%截止频率

%win=hanming(N);%衰减不小于50dB,选择海明窗

b=fir1(N-1,wc/pi);

n1=0:

1:

N;

[hit]=impz(b,1,n1);%得到脉冲响应

[hfw]=freqz(b,1,512);%得到频率响应

X=fft(x);

figure(6);

freqz(b,1);

figure(7);

subplot(221);plot(x,'r');

xlabel('时间s');ylabel('幅值y(t)');

title('海明窗滤波器滤波前的信号波形');

subplot(222);plot(abs(X),'r');

xlabel('频率Hz');ylabel('幅值magY');

title('海明窗滤波器滤波前信号的频谱');

%axis([010000500]);

x4=fftfilt(b,x);

%sound(x4,fs);

X4=fft(x4);

subplot(223);plot(x4);

xlabel('时间s');ylabel('幅值y(t)');

title('海明窗滤波器滤波后信号的波形');

subplot(224);plot(abs(X4));

xlabel('频率Hz');ylabel('幅值magY');

title('海明窗滤波器滤波后信号的频谱');

%axis([010000500]);

结果显示如下:

2)凯塞窗函数设计FIR低通滤波器设计

%凯塞窗函数设计FIR低通滤波器

%[x,fs,bits]=wavread('信号2.wav');

%n=length(x);

%x5=x(1:

n);

%dt=10.00/n;t=dt:

dt:

10.00;

%d3=0.05*randn(1,n)';%噪声信号的函数

%x5=x(:

1)+d1;%噪音信号叠加

X5=fft(x);

fp=1000;fc=1200;As=100;Ap=1;Fs=8000;

wc=2*pi*fc/Fs;wp=2*pi*fp/Fs;wdel=wc-wp;

beta=0.112*(As-8.7);

N=ceil((As-8)/2.285/wdel);

wn=kaiser(N+1,beta);ws=(wp+wc)/2/pi;

b=fir1(N,ws,wn);

figure(8);

freqz(b,1);

y5=fftfilt(b,x);

%sound(y5,fs);

Y5=fft(x,n);

figure(9)

subplot(221);plot(x,'r');

xlabel('时间s');ylabel('幅值y(t)');

title('原语音信号滤波前的信号波形');

subplot(222);plot(abs(X5),'r');

xlabel('频率Hz');ylabel('幅值magY');

%anxis([0100001.0]);

title('原语音信号滤波前的信号频谱');

subplot(223);plot(y5);

title('原语音信号滤波后的信号波形');

xlabel('时间s');ylabel('幅值y(t)');

subplot(224);plot(abs(Y5));

xlabel('频率Hz');ylabel('幅值magY');

%anxis([0100001.0]);

title('原语音信号滤波后的信号频谱');

结果显示如下:

3)FIR带通滤波器设计

%带通滤波器设计

%[xfsbits]=wavread('I:

\信号2.wav');

%n=length(x);

%dt=10.00/n;t=dt:

dt:

10.00;

y7=x(1:

n);

Y7=fft(y7);

fp1=300;fp2=1000;fc1=283;fc2=1200;As=15;Ap=1;Fs=8000;

wp1=2*pi*fp1/Fs;wc1=2*pi*fc1/Fs;

wp2=2*pi*fp2/Fs;wc2=2*pi*fc2/Fs;

wdel=wp1-wc1;

beta=0.112*(As-8.7);

N1=ceil((As-8)/2.285/wdel);

ws=[(wp1+wc1)/2/pi,(wp2+wc2)/2/pi

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

当前位置:首页 > 自然科学

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

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