99网
您的当前位置:首页声音信号的插值与采样分析

声音信号的插值与采样分析

来源:99网


二○一一~二○一二学年第 二 学期

信息科学与工程学院

课程设计报告书

课程名称: 信号与系统课程设计 班 级: 学 号: 姓 名: 指导教师:

二○一二 年 五 月

题目、离散信号的采样和插值

录制一段声音,进行4采样和4插值操作, 实验内容包括:

(1) 理论分析采样和插值对应信号时域和频域的变化。

(2)

Matlab编程实现采样和插值算法,并播放比较变换前后声音的差别,分析其原因。声音文件读写函数wavread,wavwrite。

课程设计目的:

综合运用本课程的理论知识对信号进行采样,频谱分析,掌握线性卷积和循环卷积的区别和联系,利用MATLAB编程实现,并通过理论推导得出相应结论,从实践上初步实现对信号的处理。

实验设计过程

一、理论分析 1、声音的数据化。

基于matlab的编程环境,可以由wavread和wavwrite函数对 .wav格式的音频文件进行读取和写出。

1

2、采样。

时域采样定理:频带为F的连续信号f(t)可用一系列离散的采样值f(t1),f(t1±Δt),f(t1±2Δt),...来表示,只要这些采样点的时间间隔Δt≤1/2F,便可根据各采样值完全恢复原来的信号f(t)。 对于序列x(n)的N采样,则以N为周期对原序列进行抽取,抽取的结果为y(n)=x(Nn)。其采样频率变为原来采样频率的1/N倍,频域的幅度变为原来幅值的1/N。 3、插值。

对于序列x(n)的N插值,则是每两个数据点之间插入N-1个零点。在时序拓宽了采样数据长度,频率变为原来采样频率的N倍。频域的带宽被压缩为原来带宽的1/N。

二、详细程序清单

clc;clf;clear;

[music, fs, nbits] = wavread('cap4th.wav'); N=length(music); %计算数据点 if mod(N,2)==0; N=N;

else music(N)=[]; N=N-1; end;

tx=(0:N-1)/fs; %原信号的数据时刻点 subplot(321); plot(tx,music);

title('原信号波形'); xlabel('t');

sound(music,fs);

2

xf=fft(music); %求频谱

fx=(0:N/2)*fs/N; %频谱图刻度 subplot(322);

plot(fx,abs(xf(1:N/2+1))); title('原信号频谱图'); xlabel('Hz'); ylabel('幅值');

%对原信号进行插值运算

y1=zeros(1,4*N); %插零 N1=length(y1); y1([1:4:N1])=music; tx1=(0:N1-1)/(4*fs); subplot(323); plot(tx1,y1);

title('插零后信号波形'); xlabel('t'); sound(y1,4*fs);

xf1=fft(y1); % 求频谱 fx1=(0:N1/2)*4*fs/N1; %频谱图刻度 subplot(324);

plot(fx1,abs(xf1(1:N1/2+1))); title('插零后信号频谱图'); xlabel('Hz'); ylabel('幅值');

%对原信号进行采样

k=[1:N/4];

y2=music(4*k); % 抽取的数据 N2=length(y2)

tx2=(0:N2-1)/(fs/4); subplot(325);

plot(tx2,y2);

title('采样后信号波形'); xlabel('t'); sound(y1,4*fs);

xf2=fft(y2); % 求频谱

fx2=(0:N2/2)*(fs/4)/N2; % 频谱图刻度

3

subplot(326);

plot(fx2,abs(xf2(1:N2/2+1))); title('采样后信号频谱图'); xlabel('Hz'); ylabel('幅值');

三、运行结果或性能指标分析

1、波形图与频谱图如下所示

2、性能指标分析

由程序运行结果:插零后声音变得低缓,采样后声音的音响变小。由分析可知对信号进行N插值,在频域的带宽被压缩;对信号进行N采样,则频域的幅值减小。

4

四、总结

在本次课程设计中,我加深了对《信号与系统》这么课程的理解,回顾复习了这学期来学到的理论知识,并将其运用到实践中,完成了本次的课程设计要求。

在实验过程中,我遇到了不少的问题,就关于题目的理解也犯了错误,之后在理论分析上遇到了各种各样的障碍,才意识到自己学到的东西实在是太少了,能灵活运用的则是微乎其微。特别在对信号进行频谱分析时,对于频谱的刻度的求法一无所知,走了很多弯路。学习是一个循序渐进的过程,我慢慢在困难中找寻解决办法,不知不觉也就掌握了很多知识和方法。学习是一个积累的过程,不要对陌生的知识产生恐惧,只有一点点去了解去战胜,我们才能收获成果,最后总掌握知识。

当然,在实验过程中也得到了同学与老师的帮助,在与他们的交流中学到了很多经验,学到不少知识。只有在不断地运用中,我们才能学到深沉次的东西,我会一直保持善于思考的习惯,学习,培养自己好的学习习惯,在理论指导下去实践,在实践中证明理论。

5

因篇幅问题不能全部显示,请点此查看更多更全内容