课设题目数字听诊器信号分析Word文件下载.docx

上传人:b****7 文档编号:22157844 上传时间:2023-02-02 格式:DOCX 页数:10 大小:69KB
下载 相关 举报
课设题目数字听诊器信号分析Word文件下载.docx_第1页
第1页 / 共10页
课设题目数字听诊器信号分析Word文件下载.docx_第2页
第2页 / 共10页
课设题目数字听诊器信号分析Word文件下载.docx_第3页
第3页 / 共10页
课设题目数字听诊器信号分析Word文件下载.docx_第4页
第4页 / 共10页
课设题目数字听诊器信号分析Word文件下载.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

课设题目数字听诊器信号分析Word文件下载.docx

《课设题目数字听诊器信号分析Word文件下载.docx》由会员分享,可在线阅读,更多相关《课设题目数字听诊器信号分析Word文件下载.docx(10页珍藏版)》请在冰豆网上搜索。

课设题目数字听诊器信号分析Word文件下载.docx

一个线性位移不变系统的输出序列Y(n)和输入序列X(n)之间的关系,应满足常系数线性差分方程:

式中,X(n)为输入序列;

Y(n)为输出序列;

和为滤波器系数;

N为滤波器阶数。

若所有的均为0,则得到FIR滤波器的差分方程为

FIR滤波器的结构图如下:

3)离散傅里叶变换DFT

即有限长序列的离散频域表示

4)信号通过滤波器,相当于信号与系统的冲击响应做卷积,等于信号的DFT与系统冲击响应的DFT做乘积。

所得的时域或频域表达式即响应的时域或频域的表达式。

2.设计方案

1)利用GUI界面的edittext和statictext可以完成病人个人信息的输入。

2)数据的采集可以使用对语音信号的b=11025点的抽样,然后计算出一共的采样点数N,对采集后的数字信号进行N点的离散傅里叶变换DFT,即可以求出所采集信号的频谱。

3)fir数字滤波器设计示例:

n=251;

%阶数,n越大频率响应边缘越陡,计算时间越长。

f=[00.080.11];

%把频率轴分为三个区域,

a=[010];

%三个区域为阻、通、阻

up=[0.0051.020.05];

%三个区域的幅度上限

lo=[00.980];

%三个区域的幅度下限

h=fircls(n,f,a,up,lo)'

;

%冲激响应h(t)

按此方法即可设计低通,带通,带阻等不同功能的fir数字滤波器。

三.课程设计的步骤和结果

1、界面设计

2、代码编写

1)性别输入框

此部分采用radiobutton和buttongroup共同进行设计,以求达到“男”“女”两种性别二选一目的,代码如下:

functionuipanel1_CreateFcn(hObject,eventdata,handles)

switchget(hObject,'

Tag'

);

case'

radiobutton1'

%按钮1的tag

'

radiobutton2'

<

='

0'

End

2)“开始诊断”键

此键以实现对听诊声音的采集,频谱的生成,然后在axis1中显示出来,代码如下:

functionpushbutton1_Callback(hObject,eventdata,handles)

globalxbNAMP;

b=11025;

button_state=get(hObject,'

Value'

ifbutton_state==get(hObject,'

Max'

[FileNamePathName]=uigetfile({'

*.wav'

'

signalFiles(*.wav)'

'

*.*'

AllFiles(*.*)'

},'

ChooseaFile'

filer=fullfile(PathName,FileName);

[xb]=wavread(filer);

N=length(x);

f=(-N/2:

N/2-1)/N*b;

X=fftshift(fft(x,N));

AMP=abs(X);

axes(handles.axes1);

%选择一个axes,用它的tag来选中它

plot(f,AMP);

set(handles.axes1,'

XminorTick'

on'

%顺便设置一下它的属性

gridon;

%加上网格

end

3)“低通”键

此键读取用户输入的低通滤波器的参数,生成滤波器,然后产生经过低通滤波器的信号的波形,画在axis2中。

其中包括一个弹窗设计,当输入的参数超过信号的范围时,弹窗报错误,代码如下:

functionpushbutton2_Callback(hObject,eventdata,handles)

fc=str2double(get(handles.edit5,'

string'

));

if(fc>

b*(1/2-1/N))||(fc<

0);

errordlg('

请输入一个符合频率范围的正频率'

ERROR'

else

pv=(-N/2:

part=fc*N/b/(N/2-1);

%fir滤波器分段的参数

n=251;

f=[0part1];

a=[10];

up=[1.020.05];

lo=[0.980];

h=fircls(n,f,a,up,lo)'

H=fftshift(fft(h,N));

Y=X.*H;

AMP3=abs(Y);

axes(handles.axes2);

%选择你的一个axes,自然,用它的tag来选中它

plot(pv,AMP3);

%这时,所画的图就到它上面了

set(handles.axes2,'

end

4)“带通”“带阻”键

此键以实现读取用户的滤波器参数,生成对应的滤波器,生成波形,显示在axis2中,其中也包括一个错误弹窗设计,代码如下:

带通:

functionpushbutton3_Callback(hObject,eventdata,handles)

f1=str2double(get(handles.edit6,'

f2=str2double(get(handles.edit7,'

if(f1>

b*(1/2-1/N))||(f1<

0)||(f2>

b*(1/2-1/N))||(f2<

0);

part1=f1*N/b/(N/2-1);

part2=f2*N/b/(N/2-1);

f=[0part1part21];

a=[010];

up=[0.0051.020.05];

lo=[00.980];

带阻:

functionpushbutton4_Callback(hObject,eventdata,handles)

a=[101];

%三个区域为通、阻、通

up=[1.020.051.02];

lo=[0.9800.98];

%选择一个axes,自然,用它的tag来选中它

5)“输出”键

此键以实现对于用户输入的频率值,输出所对应的幅度值,其中同样包括一个错误弹窗,代码如下:

functionpushbutton5_Callback(hObject,eventdata,handles)

globalbNAMP;

f=str2double(get(handles.edit8,'

if(f>

b*(1/2-1/N))||(f<

cxf=fix(f*N/b+N/2);

a=AMP(cxf,1);

set(handles.edit9,'

num2str(a));

四.课程设计总结

DFT可以对有限长序列进行处理,产生离散频域表示。

这适合对广泛应用数字信号进行处理,加之DFT的快速算法FFT,更使得DFT使用的更广泛。

信号通过系统,得到的响应,等于信号与系统的冲击响应在时域里卷积,得到的是响应的时域表示;

也等于信号与系统的频谱在频域里乘积,得到的是响应的频域表示。

fir滤波器可保证线性相位,对不同频率的分量的延迟相同,保证了信号不失真。

MATLAB的功能很强大,可用于电子,通信,图像等领域的信号处理与系统设计。

要精通MATLAB并不是件很容易的事,这得花较多的时间来研究和分析。

五.设计体会

通过这次课设是我熟悉了matlab的GUI界面功能,对matlab的一些函数有了基本的认识,对matlab有了新的认识。

在设计的过程中,遇到了很多问题,很多地方需要想别人请教。

在遇到问题,解决问题的过程中,也学到了很多东西。

经过这次课设计,我更加深刻的认识到知识在实践中的应用是一个复杂且重要的过程,锻炼了自己的动手能力,为自己在

六.参考文献

1赵淑清.信号与系统.哈尔滨工业大学出版社,2008:

29-241

2郑君里.信号与系统引论.高等教育出版社,2009:

377-407

3董绍平.数字信号处理基础.哈尔滨工业大学出版社,1996:

6-21,78-96

4教程:

GUI保存GUI中的Plot图形.

1.不要自己写,要利用word来自动生成。

详情请看最后一页

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

当前位置:首页 > 考试认证 > 司法考试

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

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