收藏 分享(赏)

信号与系统课程设计94524.doc

上传人:dzzj200808 文档编号:2320860 上传时间:2018-09-10 格式:DOC 页数:8 大小:435KB
下载 相关 举报
信号与系统课程设计94524.doc_第1页
第1页 / 共8页
信号与系统课程设计94524.doc_第2页
第2页 / 共8页
信号与系统课程设计94524.doc_第3页
第3页 / 共8页
信号与系统课程设计94524.doc_第4页
第4页 / 共8页
信号与系统课程设计94524.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、二一一二一二学年第 二 学期电子信息工程系课程设计计划书班 级: 电技电信 2010 级 1 班 课程名称: 信号与系统课程设计 学 号: 姓 名: 指导教师: 二一二 年 五 月 十三 日一、课程设计目的:综合运用本课程的理论知识进行语音信号的频谱分析,通过理论推导得出相应结论,并利用 MATLAB 作为编程工具进行计算机实现,从而复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力,并从实践上初步实现对数字信号的处理。二、需求分析:1.设计题目及设计要求题目一:设有直流信号 ,现对它进行均匀取样,形成序列)(1)ttg。试讨论若对该序列分别作加窗、补零和插零处理,信号()1gn频谱结构

2、有何变化。 (提示:可先做理论推导,然后将理论推导和编程得到的结果结合起来分析)题目二:在 Matlab 环境中,利用编程方法对语音信号进行采集和谱分析。通过至少两种方法实现对语音信号的采集,做出时域波形图。对语音信号进行谱分析,做出频谱图,总结出语音信号的特点。2.系统功能分析题目一:通过加窗对信号截断(加不同的窗可以改善信号 fft 运算的频谱泄漏和谱间干扰),然后对信号的补零和插零通过改变 fft 的采样点数和时域持续时间分别改善和提高了信号傅里叶变换过程中的栅栏效应和分辨率。题目二:语音信号的采集:通过网络上下载的录音软件采集语音信号,使用软件能自动生成 .wav文件。在matlab中

3、通过函数wavread(文件目录)读取此.wav文件。将声卡作为对象处理采集语音信号。三、原理分析和设计题目一:加窗实际上就是取频谱的一段长度,其余的取零,补零就是在序列的后面补零,插零就是在序列中均匀补零。由序列傅里叶变换的定义之补零的频谱与原频谱一样。但是插零时有变化。题目二:语音信号的采集:录制的语音信号可以由话筒输入,也可以由CD输入。计算机声音编辑工具的使用方法是:在Windows操作系统下点击【开始】【程序】【附件】【娱乐】【录音机】,在对文件保存时,利用的计算机的A/D和D/A转换器分别在保存和放音时进行模拟量和数字量之间的转化。在matlab中通过函数wavread(文件目录

4、)读取此.wav文件。将声卡作为对象处理采集语音信号,Matlab程序如下:a=analoginput(winsound);%为声卡建立一个模拟输入设备对象addchannel(a,1);%设置声卡通道,1为单声道,2为双声道fs=8000 %采样频率设置为8000Hza.samplerate=fs %设置采样频率 t=3 %设置采样时间start(a); %启动并触发声卡设备采集数据y=get(a,t*fs); %提取采样数据stop(a);%停止采集四、详细设计算法设计思路及详细程序清单:题目一:1. 通过 ones()函数产生序列 g(n);2. 对原始 g(n)信号做 50 点的 ff

5、t,并绘出原始信号和 fft 信号的频谱图;3. 在采样的点数后面加 2 个 0,再进行 50 点的 fft,并绘出频谱图;4. 对采样信号每间隔 5 插入一个零,再进行 50 点的 fft,并绘出频谱图。源程序:clear;clc;W=10;%W=input(输入窗的宽度 );N=50;%input(输入采样点数 );xn=0:N-1;yn=ones(1,W);ynfft=fft(yn,N);%figure;stem(yn);title(原信号)subplot(3,1,1);stem(xn,abs(ynfft);title(fft 信号);%在后面补 0B=5;% B=input(输入在后面

6、的补零个数);yn(W:W+B)=0;ynfft=fft(yn,N);subplot(3,1,2);stem(xn,abs(ynfft);title(fft 信号);%在中间插 0M=5;% M=input(输入在后面的补零间隔);yn=ones(1,10);yn(1:5:W)=0;ynfft=fft(yn,N);subplot(3,1,3);stem(xn,abs(ynfft);title(fft 信号);实验图形:0 5 10 15 20 25 30 35 40 45 500510fft信信0 5 10 15 20 25 30 35 40 45 500510fft信信0 5 10 15 2

7、0 25 30 35 40 45 500510fft信信题目二:1.运用第一种方法,从桌面读取C:Documents and Settings1桌面music.wav文件,用 sound()函数将其播放出来,并对该信号做 1024 点的 DFT;2.做出该采样信号的时域图形;3.做出该采样信号的 FFT 归一化频谱图和原始信号的频谱;4.将采样信号 FFT 后的信号进行 IFFT,并做出其频谱图,播放其声音。源程序:fs = 8000;x1 = wavread(C:Documents and Settings1桌面music.wav);sound(x1,8000);%播放语音信号y1 = ff

8、t(x1,2048);%对信号做1024点FFT变换f = fs*(0:1023)/2048;%步长为 1的序列值与fs相乘除以2048幅值给ffigure(1);plot(x1);%绘制原始语音信号的时域图形title(原始语音信号2);xlabel(Time n);ylabel(幅值 n);figure(2);subplot(2,1,1);plot(f,abs(y1(1:1023)./max(abs(y1(1:512),r);%abs是绝对值,画出的是归一化后的FFT频谱图title(原始语音信号归一化后的频谱 );axistight;subplot(2,1,2);plot(abs(y1(

9、1:1023),r);%做出原始语音信号的fft频谱图title(原始语音信号的频谱 );xlabel(Hz);ylabel(幅值);axistight;figure(3);yt=y1(1:2048);y0=ifft(yt);plot(y0);title(经过ifft恢复后的语音信号);xlabel(Time n);ylabel(幅值 n);axistight%将傅里叶反变换后的信号写入原始语音信号,并读出wavwrite(x2,fs,bits,C:UsersPadDesktopspeech_dft.wav);y2=wavread(C:UsersPadDesktopspeech_dft.wav

10、);sound(y2,fs);实验图形:五、调试分析过程描述题目一:该程序的 figure(1)中,我取了 10 点的 g(n)然后对其进行 50 点的离散傅里叶变换,做出了相应的频谱图;figure(2)中,我在先对 10 点的 g(n)进行 8点的截断,然后补 0 到 10 点,再对其分别进行 50 点的离散傅里叶变换和 50 点的离散傅里叶反变换,并画出了相应的频谱图,由图 figure(1)与 figure(2)可以看出:补零后,对原信号的频谱分辨率并没有提高,只是使采样点间距更近,从而对采样信号的部分更细化;figure(3)中,我每 5 个采样点间插了一个零,使时域长度有所增加,从

11、而提高了频谱的分辨率,由上面图比较可以看出插零后的频谱压缩了一倍。题目二:由以上各图分析比较可以看出,时域语音信号有以下两个特点:在频域内,语音信号的频谱分量主要集中在 300 到 3400Hz 的范围内;在时域内,语音信号具有“短时性”的特点,即在总体上,语音信号的特征是随着时间而变化的,但在一段较短的时间间隔们,语音信号保持平稳。六、总结通过这次课程设计,我认识到matlab对于处理信号与系统相关问题十分重要,比如这次实验,MATLAB语言可可以将声音文件变换为离散的数据文件,然后利用其强大的矩阵运算能力处理数据,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种分析图的呈现等等。而且,在实验中我发现,Matlab中提供了许多专用工具箱,用于解决特定的学科领域或应用领域的问题。其中用于信号分析和处理的工具箱有:系统时域辨别、系统频域辨别、数值分析和统计、数理统计、小波分析等工具箱。这些工具箱和函数可以完成很多语音信号处理任务,而且Matlab的工具箱扩展速度很快,如上面在倒谱分析中就可以直接调用工具箱中的rceps(x)功能函数。因此,在具体语音信号处理的编程过程中,我们要善于运用现成的工具箱和软件。

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

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报