当前位置:首页 » 课程大全 » 信号分析课程设计过程

信号分析课程设计过程

发布时间: 2021-03-04 00:09:54

『壹』 数字信号课程设计

Matlab在数字信号处理课程设计中的应用

作者:李永全 来源:现代电子技术

摘 要:分析了数字信号处理课程的重要性及特点,为了帮助学生理解与掌握课程中的基本概念、基本原理、基本分析方法,提出了用Matlab进行数字信号处理课程设计的思路,并阐述了课程设计的具体方法、步骤和内容。
关键词:数字信号处理;课程设计;Matlab;频谱分析

1 《数字信号处理》课程的特点
《数字信号处理》课程是一门理论和技术发展十分迅速、应用非常广泛的前沿性学科,他的理论性和实践性都很强,他的特点是:
(1)要求的数学知识多,包括高等代数、数值分析、概率统计、随机过程等。
(2)要求掌握的基础知识强,网络理论、信号与系统是本课程的理论基础。
(3)与其他学科密切相关,即与通信理论、计算机、微电子技术不可分,又是人工智能、模式识别、神经网络等新兴学科的理论基础之一。
学生在学习这门课程时,普遍感到数字信号处理的概念抽象,对其中的分析方法与基本理论不能很好地理解与掌握。因此,如何帮助学生理解与掌握课程中的基本概念、基本原理、基本分析方法以及综合应用所学知识解决实际问题的能力,是本课程教学中所要解决的关键问题。为了配合《数字信号处理》专业基础课的理论教学,我们在电子信息工程专业教学计划中安排了二周的《数字信号处理》课程设计,他是针对《数字信号处理》的基础理论和算法进行实践环节的一个综合训练,以便学习巩固所学的知识,加强理论和实际结合的能力,培养学生的综合设计能力与实际工作能力。
Matlab语言是一种广泛应用于工程计算及数值分析 领域的新型高级语言,Matlab功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。特别是Matlab还具有信号分析工具箱,不需具备很强的编程能力,就可以很方便地进行信号分析、处理和设计。因此,选择用Matlab进行课程设计。

2 基于Matlab的课程设计
为了巩固所学的数字信号处理理论知识,使学生对信号的采集、处理、传输、显示和存储等有一个系统的掌握和理解,精心地安排了课程设计的内容:录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法和双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;最后,设计一个信号处理系统界面。下面对各步骤加以具体说明。
2.1 语音信号的采集
要求学生利用Windows下的录音机,录制一段自己的话音,时间在1 s内。然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。通过wavread函数的使用,学生很快理解了采样频率、采样位数等概念。
2.2 语音信号的频谱分析
要求学生首先画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性,从而加深学生对频谱特性的理解。其程序如下:

2.3 设计数字滤波器和画出其频率响应
给出各滤波器的性能指标:
(1)低通滤波器性能指标 fb=1 000 Hz,fc=1 200 Hz,As=100 dB,Ap=1 dB。
(2)高通滤波器性能指标 fc=4 800 Hz,fb=5 000 Hz As=100 dB,Ap=1 dB。
(3)带通滤波器性能指标 fb1=1 200 Hz,fb2=3 000 Hz,fc1=1 000 Hz,fc2=3 200 Hz,As=100 dB,Ap=1 dB。
要求学生用窗函数法和双线性变换法设计上面要求的3种滤波器。在Matlab中,可以利用函数fir1设计FIR滤波器,可以利用函数butte, cheby1和ellip设计IIR滤波器;利用Matlab中的函数freqz画出各滤波器的频率响应。程序如下:

2.4 用滤波器对信号进行滤波
要求学生用自己设计的各滤波器分别对采集的信号进行滤波,在Matlab中,FIR滤波器利用函数fftfilt对信号进行滤波,IIR滤波器利用函数filter对信号进行滤波。
2.5 比较滤波前后语音信号的波形及频谱
要求学生在一个窗口同时画出滤波前后的波形及频 谱。其程序如下:

2.6 回放语音信号
在Matlab中,函数sound可以对声音进行回放。其调用格式:sound(x,fs,bits);可以感觉滤波前后的声音有变化。
2.7 设计系统界面
为了使编制的程序操作方便,要求有能力的学生,设计处理系统的用户界面。在所设计的系统界面上可以选择滤波器的类型,输入滤波器的参数,显示滤波器的频率响应,选择信号等。

3 结语
笔者在电信97,98,99,00四届学生中,采用Matlab进行数字信号处理课程设计,实践证明,使学生加深了对课堂抽象概念的理解,巩固了课堂上所学的理论知识,并能很好地理解与掌握数字信号处理中的基本概念、基本原理、基本分析方法。在课程设计中,让学生录制自己的声音,设计滤波器对声音进行处理,大大激发了同学们的学习兴趣,使学生很快地掌握编程方法和解决实际问题的技巧,取得了良好的教学效果。

参考文献

〔1〕程佩青.数字信号处理教程〔M〕.北京:清华大学出版社,2002.
〔2〕刘敏,魏玲.Matlab通信仿真与应用〔M〕.北京:国防工业出版社,2001.

『贰』 数字信号处理的课程设计怎么做

数字信号处理综合设计

一、实验目的
1.学会MATLAB的使用,掌握MATLAB的程序设计方法;
2.掌握在Windows环境下语音信号采集的方法;
3.掌握数字信号处理的基本概念、基本理论和基本方法;
4.掌握MATLAB设计FIR和IIR数字滤波器的方法;
5.学会用MATLAB对信号进行分析和处理。
二、实验原理
参考《数字信号处理》教材。
三、主要实验仪器及材料
微型计算机、Matlab6.5教学版、TC编程环境。
四、实验内容
1.语音信号的采集
要求利用windows下的录音机(开始—程序—附件—娱乐—录音机,文件—属性—立即转换—8000KHz,8位,单声道)或其他软件,录制一段自己的话音,时间控制在1秒左右。然后在MATLAB软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。通过wavread函数的使用,要求理解采样频率、采样位数等概念。
wavread函数调用格式:
y=wavread(file),读取file所规定的wav文件,返回采样值放在向量y中。
[y,fs,nbits]=wavread(file),采样值放在向量y中,fs表示采样频率(Hz),nbits表示采样位数。
y=wavread(file,N),读取前N点的采样值放在向量y中。
y=wavread(file,[N1,N2]),读取从N1点到N2点的采样值放在向量y中。
2.语音信号的频谱分析
要求首先画出语音信号的时域波形;然后对语音信号进行频谱分析,在MATLAB中,可以利用函数fft对信号进行快速付立叶变换,得到信号的频谱特性;从而加深对频谱特性的理解。
3.设计数字滤波器和画出频率响应
根据语音信号的特点给出有关滤波器的性能指标:1)低通滤波器性能指标,fp=1000Hz,fc=1200 Hz, As=100dB,Ap=1dB;2)高通滤波器性能指标,fc=2800 Hz,fp=3000 Hz As=100dB,Ap=1dB;3)带通滤波器性能指标,fp1=1200 Hz,fp2=3000 Hz,fc1=1000 Hz,fc2=3200 Hz,As=100dB,Ap=1dB。要求学生首先用窗函数法设计上面要求的三种滤波器,在MATLAB中,可以利用函数fir1设计FIR滤波器,然后在用双线性变换法设计上面要求的三种滤波器;之后再利用函数butter和cheby1设计上面要求的三种IIR滤波器。最后,利用MATLAB中的函数freqz画出各滤波器的频率响应。
4.用滤波器对信号进行滤波
比较FIR和IIR两种滤波器的性能,然后用性能好的各滤波器分别对采集的信号进行滤波,在MATLAB中,FIR滤波器利用函数fftfilt对信号进行滤波,IIR滤波器利用函数filter对信号进行滤波。
5.比较滤波前后语音信号的波形及频谱
要求在一个窗口同时画出滤波前后的波形及频谱。
6.回放语音信号
在MATLAB中,函数sound可以对声音进行回放。其调用格式:
sound(x,fs,bits);
可以感觉滤波前后的声音有变化。
五、实验思考
1.双线性变换法中Ω和ω之间的关系是非线性的,在实验中你注意到这种非线性关系了吗?从哪几种数字滤波器的幅频特性曲线中可以观察到这种非线性关系?
2.能否利用公式完成脉冲响应不变法的数字滤波器设计?为什么?
六、实验报告要求
1.简述实验原理及目的。
2.按照实验步骤及要求,比较各种情况下的滤波性能。
3.总结实验所得主要结论。
4.简要回答思考题。

『叁』 信号分析处理课程设计

信号分析处理
以你的任务书解决好

『肆』 数字信号课程设计(要源程序)

7.
clc;clear all;
[x1,Fs,bits]=wavread('2.wav');
%sound(y,Fs,bits);
figure(1);
plot(x1); %做原始语音信号的时域图形
title('原始语音信号');
xlabel('time n');ylabel('yinliang n');
figure(2);
y1=fft(x1); %做length(x1)点的FFT
y1=fftshift(y1);%平移,是频率中心为0
derta_Fs = Fs/length(x1);%设置频谱的间隔,分辨率
plot([-Fs/2:derta_Fs: Fs/2-derta_Fs],abs(y1));%画出原始语音信号的频谱图
title('原始语音信号的频谱');grid on;

fs=50000;
fc1=1100;
wc1=2*pi*fc1/fs;
wp1=2*pi*1000/fs;ws1=2*pi*1200/fs;
N1=ceil(200*2*pi/ws1-wp1);
Window=boxcar(N1+1); %长度为N1的矩形窗Window
b1=fir1(N1,wc1/pi,Window);
figure(3);
freqz(b1,1,512);
title('低通滤波器的频率响应');
x1_low = filter(b1,1,x1);%对信号进行低通滤波
figure(4);
plot(x1_low);title('信号经过低通滤波器(时域)');
figure(5);
plot([-Fs/2:derta_Fs: Fs/2-derta_Fs],abs(fftshift(fft(x1_low))));
title('信号经过低通滤波器(频域)');

fc2=4900;
wc2=2*pi*fc2/fs;
wp2=2*pi*4800/fs;ws2=2*pi*5000/fs;
N2=ceil(4*pi/(ws2-wp2));
Window=boxcar(N2+1);
b2=fir1(N2,wc2/pi,Window);
figure(6);
freqz(b2,1,512);%数字滤波器频率响应
title('高通滤波器的频率响应');
x1_high = filter(b2,1,x1);%对信号进行高通滤波
figure(7);plot(x1_high);title('信号经过高通滤波器(时域)');
figure(8);plot([-Fs/2:derta_Fs: Fs/2-derta_Fs],abs(fftshift(fft(x1_high))));
title('信号经过高通滤波器(频域)');

f1=1100;f2=3100; %带通滤波器的通带范围
w1=2*pi*f1/fs; %0.1567=0.0499pi
w2=2*pi*f2/fs; %0.4417=0.1407pi
w=[w1,w2];
N3=ceil(4*pi/(2*pi*200/fs));
b3=fir1(N3,w/pi,'high');%带通滤波器
figure(9);
freqz(b3,1,512);%数字滤波器频率响应
title('高通滤波器的频率响应');
x1_daitong = filter(b3,1,x1);%对信号进行高通滤波
figure(10);plot(x1_daitong);title('信号经过高通滤波器(时域)');
figure(11);
plot([-Fs/2:derta_Fs: Fs/2-derta_Fs],abs(fftshift(fft(x1_daitong))));
title('信号经过带通滤波器(频域)');

sound(x1_low,Fs);
sound(x1_high,Fs);
sound(x1_daitong,Fs);

『伍』 数字信号处理课程设计

这个问题我来回答哈
采集系统说明:
麦克风输入方式MiclnMATLAB函数
MATLAB中提供了强大的数据采集工具箱(DAQ-Data Acquisition Toolbox),可满足控制声卡进行数据采集的要求:
wavrecord(n,fs,ch,dtype) %记录声音
waveplay(y,fs)  %发送向量信号
wavread(file)  %读取wave文件
sound(y,fs)  %向扬声器送出音频信号

滤波函数说明:
采用Kaiser window FIR:
Sampling Frequency: 8192
Type:Lowpass
Fc:956.6
Beta:5

分帧函数说明:
语音处理工具箱:VOICEBOX Speech Processing Toolboxv5中提供了该函数:
function f=enframe(x,win,inc)

端点检测函数说明:
zcr = sum(signs.*diffs, 2); %计算过零率
amp = sum(abs(enframe(filter([1 -0.9375], 1, x), FrameLen, FrameInc)), 2);
%计算短时能量

【参考书目】
1.《现代语音处理技术及应用》

2.《现代语音技术基础与应用》

3.《语音信号处理》

4.《语音信号处理[专著]》

5.《Visual C++开发工具程序员参考手册》

6. 《信号处理滤波器设计--基于MATLAB和Mathematic》

7. 《数字信号处理及其MATLAB实现》

8. 《MATLAB数字信号详解》

原程序:
【附源程序】
1.界面:
clear
global hpop hlist
clf reset
H=axes('unit','normalized','position',[0,0,1,1],'visible','off');
set(gcf,'currentaxes',H);
str='\fontname{隶书}';
h_fig=get(H,'parent');
set(h_fig,'unit','normalized','position',[0.1,0.2,0.7,0.6]);
hlist=uicontrol(h_fig,'style','list','unit','normalized',...
'position',[0.7,0.6,0.2,0.2],...
'string','录音|滤波|分帧|端点检测|录音回放','MAX',2);
hpush=uicontrol(h_fig,'style','push','unit','normalized',...
'position',[0.76,0.32,0.1,0.06],'string',{'运行'},'callback',...
'yuyin');
分帧:
function f=enframe(x,win,inc)
nx=length(x);
nwin=length(win);
if (nwin == 1)
len = win;
else
len = nwin;
end
if (nargin < 3)
inc = len;
end
nf = fix((nx-len+inc)/inc);
f=zeros(nf,len);
indf= inc*(0:(nf-1)).';
inds = (1:len);
f(:) = x(indf(:,ones(1,len))+inds(ones(nf,1),:));
if (nwin > 1)
w = win(:)';
f = f .* w(ones(nf,1),:);
end

global hlist
B=get(hlist,'value');
switch B
case 1
fs = 11025;
x = wavrecord(5*fs);
subplot('position',[0.001,0.03,1,0.8]),plot(x);...
title('原图');
axis square;axis off

case 2
I=imread('bonemarr.tif');
J=imadjust(I,[0 1],[1 0],1.3);
subplot('position',[0.05,0.6,0.3,0.3]),subplot('position',[0.05,0.6,0.3,0.3]),imshow(I);...
title('原图');
axis square;axis off
subplot('position',[0.38,0.6,0.3,0.3]),imshow(J),title('调整后');

case 3
f=enframe(x,10);
subplot('position',[0.05,0.6,0.3,0.3]),subplot('position',[0.05,0.6,0.3,0.3]),plot(x);...
title('原图');
axis square;axis off
subplot('position',[0.38,0.6,0.3,0.3]),plot(f),title('分帧后');

case 4
[x1,x2] = vad(x)

case 5
wavplay(x);
end

2.检测程序:

www.starlunwen.com

www.starlunwen.com

『陆』 数字信号处理 课程设计

我的使用MATLAB处理的自己的音频信号,你可以参考一下,附件以发送!

『柒』 河北工业大学信号课程设计 (急求)

课程设计心得体会
这是本学期最后的一次大的综合型实验——课程设计,课程设计是培养学生综合运用所学知识,发现、提出,、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。本课题是在掌握labview虚拟仪器的使用和运用的基础上实现对心电信号的处理及分析。经过两周的课程设计,使我了解了人体心电信号的时域特征和频谱特征,从而进一步了解了数字信号的分析方法,对滤波器的应用有了更深一步的体会,但是整个过程曲折可谓一语难尽。在此期间我也失落过,也曾一度热情高涨。从开始时满富盛激情到最后复杂心情,点点滴滴无不令我回味无长。
选定课程后,知道自己要用到labview软件,总是想着要了解该软件一些东西,比如怎样使用,跟课题的密切关联等一些相关问题,但是总是感觉时间还很充裕,一直往后拖,直到最后意识到第二天要开始真正的着手做课程设计了,软件的使用还不会,现在看来,在一开始的时候就已经比别人的节奏慢了。
从而导致在第一节课的时候用了大部分时间都是在熟悉这个软件的功能是什么,怎么使用这个软件等一些类似这样的基础性的问题, 当时感觉自己很无知,同时也感受到了危机感。课下我做了很多的功课,包括对这个软件的介绍,使用,一些基本函数的调用和使用说明和一些简单程序的设计,对Labview虚拟仪器这个软件有了初步的认识和了解,同时也我对这个软件产生了兴趣,只需在程序框图中调用几个所需要的函数,进行连线,就能在前面板中看到运行结果,感觉很神奇。有了这些做准备,在第二节课和以后的课程中,很快就进入了角色,知道课设的要求以及要做的东西都有哪些。
在这期间,有的时候会遇到一些问题,比如在对时间插值的时候调用FOR循环结构和条件case结构时,要用到移位寄存器对数据更新迭代,这样才能确保对时间插值的正确性。还有在后面对滤波器设计的的时候,滤波器的一些参数设置要通过读懂“帮助”里面的内容后再结合本课题的参数进行设置。
总起来说在这次的课程设计中,我学会了好多东西,一方面加深了对课本知识的认识,另一方面提高了实验操作能力,并培养了我独自思考能力和自我解决问题的能力。通过对程序框图的设计和前面板的显示框图,我体会到了labview作为具有灵活的图形处理及可视化功能以及易学易懂的图形化语言的虚拟仪器软件的强大的功能。
临近期末,非常感谢周老师在本学期给予我们的细致生动的教学,也许以后不见得会再学习更多更加专业的后续课程,但是它对于拓展专业及相关知识面、温习所学的高数内容、应用理论分析问题、解决问题的能力却会让我受益匪浅。

热点内容
武汉大学学生会辅导员寄语 发布:2021-03-16 21:44:16 浏览:612
七年级学生作文辅导学案 发布:2021-03-16 21:42:09 浏览:1
不屑弟高考成绩 发布:2021-03-16 21:40:59 浏览:754
大学毕业证会有成绩单 发布:2021-03-16 21:40:07 浏览:756
2017信阳学院辅导员招聘名单 发布:2021-03-16 21:40:02 浏览:800
查询重庆2018中考成绩查询 发布:2021-03-16 21:39:58 浏览:21
结业考试成绩怎么查询 发布:2021-03-16 21:28:40 浏览:679
14中医医师资格笔试考试成绩查分 发布:2021-03-16 21:28:39 浏览:655
名著赏析课程标准 发布:2021-03-16 21:27:57 浏览:881
北京大学商业领袖高端培训课程 发布:2021-03-16 21:27:41 浏览:919