dsp课程设计报告Word文件下载.docx

上传人:b****3 文档编号:6940622 上传时间:2023-05-07 格式:DOCX 页数:19 大小:21.83KB
下载 相关 举报
dsp课程设计报告Word文件下载.docx_第1页
第1页 / 共19页
dsp课程设计报告Word文件下载.docx_第2页
第2页 / 共19页
dsp课程设计报告Word文件下载.docx_第3页
第3页 / 共19页
dsp课程设计报告Word文件下载.docx_第4页
第4页 / 共19页
dsp课程设计报告Word文件下载.docx_第5页
第5页 / 共19页
dsp课程设计报告Word文件下载.docx_第6页
第6页 / 共19页
dsp课程设计报告Word文件下载.docx_第7页
第7页 / 共19页
dsp课程设计报告Word文件下载.docx_第8页
第8页 / 共19页
dsp课程设计报告Word文件下载.docx_第9页
第9页 / 共19页
dsp课程设计报告Word文件下载.docx_第10页
第10页 / 共19页
dsp课程设计报告Word文件下载.docx_第11页
第11页 / 共19页
dsp课程设计报告Word文件下载.docx_第12页
第12页 / 共19页
dsp课程设计报告Word文件下载.docx_第13页
第13页 / 共19页
dsp课程设计报告Word文件下载.docx_第14页
第14页 / 共19页
dsp课程设计报告Word文件下载.docx_第15页
第15页 / 共19页
dsp课程设计报告Word文件下载.docx_第16页
第16页 / 共19页
dsp课程设计报告Word文件下载.docx_第17页
第17页 / 共19页
dsp课程设计报告Word文件下载.docx_第18页
第18页 / 共19页
dsp课程设计报告Word文件下载.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

dsp课程设计报告Word文件下载.docx

《dsp课程设计报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《dsp课程设计报告Word文件下载.docx(19页珍藏版)》请在冰点文库上搜索。

dsp课程设计报告Word文件下载.docx

bilinear

(3)(选做)设计FIR滤波器:

用窗函数法设计上面要求的3种滤波器。

可以利用函数fir1设计FIR滤波器。

(4)函数freqz画出各滤波器的频率响应。

4.4 用滤波器对信号进行滤波,比较滤波前后语音信号的波形及频谱

要求用自己设计的各滤波器分别对采集的语音信号进行滤波,并在一个窗口同时画出滤波前后的波形及频谱。

(1)IIR滤波器利用函数filter对信号进行滤波;

(2)FIR滤波器利用函数fftfilt对信号进行滤波。

4.5回放语音信号

在MATLAB中,函数sound可以对声音进行回放。

其调用格式:

sound(*,fs,bits);

可以感觉滤波前后的声音有变化。

4.6(选做)设计系统界面

为了使编制的程序操作方便,要求有能力的学生,设计处理系统的用户界面。

在所设计的系统界面上可以选择滤波器的类型,输入滤波器的参数,显示滤波器的频率响应,选择信号等。

5滤波器设计方法综述

滤波器的设计步骤:

1)给出系统的性能指标;

2)用一个离散的时间系统逼近这些性能指标;

3)实现该系统.一般我们利用数字计算的方法实现系统,所以,将该离散时间滤波器称为数字滤波器.滤波器的指标往往是以频域的形式给出的,尤其是低通,带通,高通和带阻这些选频滤波器.如图所示的一个线性时不变离散系统,如果输入是带限的,且采样率满足奈奎斯特采样率,这系统是一个线性时不变的连续系统.

H(ejΩT),Ω<

π/TωHeff(jΩ)=H(ejω)=Heff(j),ωπ/T

6实验程序fs=22050;

%语音信号采样频率为22050

*1=wavread('

WindowsCriticalStop.wav'

);

%读取语音信号的数据,赋给变量*1

sound(*1,22050);

%播放语音信号

y1=fft(*1,1024);

%对信号做1024点FFT变换

f=fs*(0:

511)/1024;

figure

(1)

plot(*1)%做原始语音信号的时域图形

title('

原始语音信号'

*label('

timen'

ylabel('

fuzhin'

figure

(2)

freqz(*1)%绘制原始语音信号的频率响应图

频率响应图'

figure(3)

subplot(2,1,1);

plot(abs(y1(1:

512)))%做原始语音信号的FFT频谱图

原始语音信号FFT频谱'

subplot(2,1,2);

plot(f,abs(y1(1:

512)));

原始语音信号频谱'

Hz'

fuzhi'

程序2:

fs=22050;

t=0:

1/22050:

(size(*1)-1)/22050;

*2=randn(1,length(*1));

%产生一与*长度一致的随机信号

sound(*2,22050);

plot(*2)%做原始语音信号的时域图形

高斯随机噪声'

randn('

state'

0);

m=randn(size(*1));

*2=0.1*m+*1;

%播放加噪声后的语音信号

y2=fft(*2,1024);

plot(t,*2)

加噪后的语音信号'

plot(f,abs(y2(1:

加噪后的语音信号频谱'

根据以上代码,你可以修改下面有错误的代码

程序3:

双线性变换法设计Butterworth滤波器

h:

\课程设计2\shuzi.wav'

Au=0.03;

d=[Au*cos(2*pi*5000*t)]'

;

*2=*1+d;

wp=0.25*pi;

ws=0.3*pi;

Rp=1;

Rs=15;

Fs=22050;

Ts=1/Fs;

wp1=2/Ts*tan(wp/2);

%将模拟指标转换成数字指标

ws1=2/Ts*tan(ws/2);

[N,Wn]=buttord(wp1,ws1,Rp,Rs,'

s'

%选择滤波器的最小阶数

[Z,P,K]=buttap(N);

%创建butterworth模拟滤波器

[Bap,Aap]=zp2tf(Z,P,K);

[b,a]=lp2lp(Bap,Aap,Wn);

[bz,az]=bilinear(b,a,Fs);

%用双线性变换法实现模拟滤波器到数字滤波器的转换

[H,W]=freqz(bz,az);

%绘制频率响应曲线

plot(W*Fs/(2*pi),abs(H))

grid

频率/Hz'

频率响应幅度'

Butterworth'

f1=filter(bz,az,*2);

subplot(2,1,1)

plot(t,*2)%画出滤波前的时域图

滤波前的时域波形'

subplot(2,1,2)

plot(t,f1);

%画出滤波后的时域图

滤波后的时域波形'

sound(f1,22050);

%播放滤波后的信号

F0=fft(f1,1024);

%画出滤波前的频谱图

滤波前的频谱'

F1=plot(f,abs(F0(1:

%画出滤波后的频谱图

滤波后的频谱'

程序4:

窗函数法设计滤波器:

wdelta=ws-wp;

N=ceil(6.6*pi/wdelta);

%取整

wn=(0.2+0.3)*pi/2;

b=fir1(N,wn/pi,hamming(N+1));

%选择窗函数,并归一化截止频率

freqz(b,1,512)

f2=filter(bz,az,*2)

plot(t,f2);

sound(f2,22050);

%播放滤波后的语音信号

F0=fft(f2,1024);

F2=plot(f,abs(F0(1:

试验结果:

图一(语音信号的采集)

图二(语音信号频谱分析)

图三(低通滤波器)

图四(高通滤波器)

图五(滤波前后频谱比较)

7设计总结

通过这次设计,使我对语音信号有了全面的认识,对数字信号处理又有了深刻的理解,在之前数字信号与处理的学习中,已经使用过matlab,对其有了一些基础的了解和认识。

通过这次练习使我进一步了解语音信号的采集、频谱分析以及滤波器设计放方法。

以及在其中产生信号和绘制信号的基本命令和一些基础编程语言。

让我感受到只有在了解课本知识的前提下,才能更好的应用这个工具;

并且熟练的应用matlab也可以很好的加深我对课程的理解,方便我的思维。

这次设计使我学会分析滤波器的优劣和性能,提高分析与动手时间能力。

同时我相信,进一步对matlab的学习与研究对我今后的学习将会起到很大的帮助。

8参考文献

(1)唐建锋,游开明,列尊.基于Matlab的数字滤波器设计研究型实验探讨(B).现代电子技术,2006;

14-001-02,1-2.

(2)侯宁.Matlab在数字滤波器设计中的应用,化学工程与装备,2008;

59-62.

(3)铖,维.定点DSP中的数字滤波器应用.仪器仪表用,2006;

06-0067-02.

(4)[美]哈里Y-F拉姆.模拟和数字滤波器设计与实现.市:

人民邮电,1985.405-450.

(5)[美]A·

安东尼奥.数字滤波器分析与设计.市:

科学技术,1984.210-240.

(6)邹理和.数字滤波器.市:

国防工业,1979.80-100.

题目二:

DSP在数字识别中的应用

1课程设计的目的:

2).掌握图像处理的常用算法;

3).掌握数字信号处理在数字识别中的应用及数字识别使用的基本算法;

4).学会DSP的使用,掌握DSP的程序设计方法;

5).学会用DSP对数字图像进行分析和处理。

2课程设计容:

把含有数字的图像,如车牌,等读取到DSP的SDRAM中,利用图像处理算法把数字从图像中定位出来;

首先把图像二值化,二值化算法选择固定阈值、直方图或最大类间方差法,比较各个二值化算法的效果;

对二值化的图像做边缘提取,选择Sobel或者Laplace边缘提取算法并比较效果;

经过二值化和边缘提取后的图像,利用投影法定位数字在图像中的位置,并给出数字在图像中的外接矩形;

利用CCS把处理结果显示出来。

3课程设计基础:

DSP编程基础、数字信号处理知识、图像处理知识。

4具体步骤与要求:

4.1 数字图像的采集

拍摄含有数字的图像,或利用老师给的图像,在DSPCCS软件平台下,编程把图像读取到DSP的SDRAM中。

4.2二值化

要求完成固定阈值、直方图或最大类间方差法二值化算法,并比较算法处理结果,选择合适的二值化算法,得到二值化后的图像并显示。

(5)固定阈值法,选择多个阈值比较处理,最终选择合适的阈值;

(6)(选做)直方图阈值法,绘制直方图并显示。

一幅图像包括目标物体、背景还有噪声,要想从多值的数字图像中直接提取出目标物体,最常用的方法就是设定一个阈值T,用T将图像的数据分成两部分:

大于T的像素群和小于T的像素群。

这是研究灰度变换的最特殊的方法,称为图像的二值化。

二值化方法:

(1)全局二值化

  一幅图像包括目标物体、背景还有噪声,要想从多值的数字图像中直接提取出目标物体,最常用的方法就是设定一个全局的阈值T,用T将图像的数据分成两部分:

将大于T的像素群的像素值设定为白色(或者黑色),小于T的像素群的像素值设定为黑色(或者白色)。

  全局二值化,在表现图像细节方面存在很大缺陷。

为了弥补这个缺陷,出现了局部二值化方法。

  局部二值化的方法就是按照一定的规则将整幅图像划分为N个窗口,对这N个窗口中的每一个窗口再按照一个统一的阈值T将该窗口的像素划分为两部分,进行二值化处理。

(2)局部自适应二值化

  局部二值化也有一个缺陷。

这个缺陷存在于那个统一阈值的选定。

这个阈值是没有经过合理的运算得来,一般是取该窗口的平局值。

这就导致在每一个窗口仍然出现的是全局二值化的缺陷。

为了解决这个问题,就出现了局部自适应二值化方法。

局部自适应二值化,该方法就是在局部二值化的基础之上,将阈值的设定更加合理化。

该方法的阈值是通过对该窗口像素的平均值E,像素之间的差平方P,像素之间的均方根值Q等各种局部特征,设定一个参数方程进行阈值的计算,例如:

T=a*E+b*P+c*Q,其中a,b,c是自由参数。

这样得出来的二值化图像就更能表现出二值化图像中的细节。

4.3边缘提取

边缘提取采用Sobel或Laplace算法,

(1)Sobel和Laplace算法使用3*3模板;

(2)(选做)Canny边缘提取算法。

边缘提取编程比较:

I=imread('

lena.bmp'

%提取图像

1)BW1=edge(I,'

sobel'

%用SOBEL算子进行边缘检测

2)BW2=edge(I,'

roberts'

%用Roberts算子进行边缘检测

3)BW3=edge(I,'

prewitt'

%用prewitt算子进行边缘检测

4)BW4=edge(I,'

log'

%用log算子进行边缘检测

5)BW5=edge(I,'

canny'

%用canny算子进行边缘检测

4.4 数字定位

要求用自己设计的二值化结果对目标位置进行定位,给出数字的外接矩形和中心;

(3)利用投影法把二值化结果分别向水平和垂直方向投影,选择合适的阈值定位出数字位置,并输出目标位置;

(4)利用修改像素值的方法,把外接矩形绘制到图像中并通过CCS显示。

5数字识别方法综述

模式识别(PatternRecognition)是指对表征事物或现象的各种形式的(数值的、文字的和逻辑关系的)信息进行处理和分析,以对事物或现象进行描述、辨认、分类和解释的过程,是信息科学和人工智能的重要组成部分。

模式识别又常称作模式分类,从处理问题的性质和解决问题的方法等角度,模式识别分为有监督的分类(SupervisedClassification)和无监督的分类(UnsupervisedClassification)两种。

二者的主要差别在于,各实验样本所属的类别是否预先已知。

模式还可分成抽象的和具体的两种形式。

前者如意识、思想、议论等,属于概念识别研究的畴,是人工智能的另一研究分支。

我们所指的模式识别主要是对语音波形、地震波、心电图、脑电图、图片、照片、文字、符号、生物传感器等对象的具体模式进行辨识和分类。

6程序

/***********************************************************************

**MainFunctionProgram

***********************************************************************/

*include"

math.h"

stdio.h"

*defineIMAGE_WIDTH128

*defineIMAGE_HEIGTH32

voidmain()

{

FILE*fi;

inti,j,k;

inty[IMAGE_HEIGTH][IMAGE_WIDTH];

intp[128]={0},p1[128]={0},p2[128]={0},m,temp,up,down,num=0,

flag=0;

unsignedcharid[128];

fi=fopen("

E:

\\lu.bmp"

"

rb"

fread((char*)id,sizeof(char),54,fi);

for(i=0;

i<

16;

i++)

{

fread((char*)id,sizeof(char),64,fi);

}

IMAGE_HEIGTH;

fread((char*)id,sizeof(char),128,fi);

for(j=0;

j<

IMAGE_WIDTH;

j++)

{

y[i][j]=id[j];

}

fclose(fi);

i=0;

y[i][j]=255*((y[i][j])/200);

for(i=0;

i<

i++)

for(j=0;

j<

j++)

if(y[i][j]>

=200)

p[i]++;

m=IMAGE_HEIGTH/2;

temp=p[m];

for(i=m+1;

if(temp>

p[i])

temp=p[i];

down=i;

if(temp==0)

{down=i;

break;

}

for(i=m-1;

i>

=0;

i--)

up=i;

{

break;

}

//画线

/*for(j=0;

y[up][j]=255;

y[down][j]=255;

*/

//fenge

for(i=0;

for(j=0;

if(y[j][i]==255)

{p[i]++;

}

if(p[i]>

0)

if(flag==0)

{

p1[num]=i-1;

flag=1;

}

else

if(flag==1)

p2[num]=i;

flag=0;

num++;

if((flag==1)&

&

(i==IMAGE_WIDTH-1))

p1[num]=0;

p2[num]=0;

num++;

7;

for(k=up;

k<

down;

k++)

y[k][p1[i]]=255;

y[k][p2[i]]=255;

for(j=p1[i];

p2[i];

j++)

**EndofFile

***********************************************************************/

7设计结果

图一(实验过程)

图二(试验结果)

图三(试验结果)

8设计总结

通过这次设计,使我对数字识别有了全面的认识,对dsp数字图像处理又有了深刻的理解,在之前数字信号与处理的学习中,已经使用过keilC,对其有了一些基础的了解和认识。

通过这次练习使我进一步了解数字图像的采集、二值化、数字定位以及边缘提取。

并且熟练的应用C语言也可以很好的加深我对课程的理解,方便我的思维。

这次设计使我学会分

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2