信号分析与处理实验报告(基于MATLAB)资料
信号分析与处理实验报告

华北电力大学实验报告||实验名称FFT的软件实现实验(Matlab)IIR数字滤波器的设计课程名称信号分析与处理||专业班级:电气化1308 学生姓名:袁拉麻加学号: 2 成绩:指导教师:杨光实验日期: 2015-12-17快速傅里叶变换实验一、实验目的及要求通过编写程序,深入理解快速傅里叶变换算法(FFT)的含义,完成FFT和IFFT算法的软件实现。
二、实验内容利用时间抽取算法,编写基2点的快速傅立叶变换(FFT)程序;并在FFT程序基础上编写快速傅里叶反变换(IFFT)的程序。
三:实验要求1、FFT和IFFT子程序相对独立、具有一般性,并加详细注释;2、验证例6-4,并能得到正确结果。
3、理解应用离散傅里叶变换(DFT)分析连续时间信号频谱的数学物理基础。
四、实验原理:a.算法原理1、程序输入序列的元素数目必须为2的整数次幂,即N=2M,整个运算需要M 级蝶形运算;2、输入序列应该按二进制的码位倒置排列,输出序列按自然序列排列;3、每个蝶形运算的输出数据军官占用其他输入数据的存储单元,实现“即位运算”;4、每一级包括N/2个基本蝶形运算,共有M*N/2个基本蝶形运算;5、第L级中有N/2L个群,群与群的间隔为2L。
6、处于同一级的各个群的系数W分布相同,第L级的群中有2L-1个系数;7、处于第L级的群的系数是(p=1,2,3,…….,2L-1)而对于第L级的蝶形运算,两个输入数据的间隔为2L-1。
b.码位倒置程序流程图开始检测A序列长度nk=0j=1x1(j)=bitget(k,j);j=j+1Yj<m?Nx1=num2str(x1);y(k+1)=bin2dec(x1);clear x1k=k+1c.蝶形运算程序流程图五、程序代码与实验结果a.FFT程序:%%clear all;close all;clc;%输入数据%A=input('输入x(n)序列','s');A=str2num(A);% A=[1,2,-1,4]; %测试数据%%%%校验序列,%n=length(A);m=log2(n);if (fix(m)~=m)disp('输入序列长度错误,请重新输入!');A=input('输入x(n)序列','s');A=str2num(A);elsedisp('输入正确,请运行下一步')end%%%码位倒置%for k=0:n-1for j=1:m %取M位的二进制数%x1(j)=bitget(k,j); %倒取出二进制数%endx1=num2str(x1); %将数字序列转化为字符串%y(k+1)=bin2dec(x1); %二进制序列转化为十进制数%clear x1endfor k=1:nB(k)=A(y(k)+1); %时间抽取序列%endclear A%%%计算%for L=1:m %分解为M级进行运算%LE=2^L; %第L级群间隔为2^L%LE1=2^(L-1); %第L级中共有2^(L-1)个Wn乘数,进行运算蝶运算的两数序号相隔LE1%W=1;W1=exp(-1i*pi/LE1);for R=1:LE1 %针对第R个Wn系数进行一轮蝶运算,共进行LE1次%for P=R:LE:n %每个蝶的大小为LE% Q=P+LE1;T=B(Q)*W;B(Q)=B(P)-T;B(P)=B(P)+T;endW=W*W1;endendB %输出X(k)%%%验证结果:例6-4b.IFFT程序:%%clear all;close all;clc;%输入数据%A=input('输入X(k)序列','s');A=str2num(A);% A=[6,2+2i,-6,2-2i]; %测试数据%%%%校验序列,%n=length(A);m=log2(n);if (fix(m)~=m)disp('输入序列长度错误,请重新输入!');A=input('输入x(n)序列','s');A=str2num(A);elsedisp('输入正确,请运行下一步')end%%%码位倒置%for k=0:n-1for j=1:m %取M位的二进制数%x1(j)=bitget(k,j); %倒取出二进制数%endx1=num2str(x1); %将数字序列转化为字符串%y(k+1)=bin2dec(x1); %二进制序列转化为十进制数%clear x1endfor k=1:nB(k)=A(y(k)+1); %时间抽取序列%endclear A%%%计算%for L=1:m %分解为M级进行运算%LE=2^L; %第L级群间隔为2^L%LE1=2^(L-1); %第L级中共有2^(L-1)个Wn乘数,进行运算蝶运算的两数序号相隔LE1%W=1;W1=exp(-1i*pi/LE1);for R=1:LE1 %针对第R个Wn系数进行一轮蝶运算,共进行LE1次%for P=R:LE:n %每个蝶的大小为LE%Q=P+LE1;T=B(Q)*W;B(Q)=B(P)-T;B(P)=B(P)+T;endW=W*W1;endendB=conj(B); %取共轭%B=B/n %输出x(n)%验证结果:六、实验心得与结论本次实验借助于Matlab软件,我避开了用C平台进行复杂的复数运算,在一定程度上简化了程序,并添加了简单的检错代码,码位倒置我通过查阅资料,使用了一些函数,涉及到十-二进制转换,数字-文本转换,二-文本转换,相对较复杂,蝶运算我参考了书上了流程图,做些许改动就能直接实现。
基于MATLAB的语音信号分析与处理的实验报告

基于MA TLAB的语音信号分析与处理的实验报告数字信号课程设计,屌丝们有福了一.实验目的数字信号课程设计,屌丝们有福了综合计运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应的结论,培养发现问题、分析问题和解决问题的能力。
并利用MATLAB作为工具进行实现,从而复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力,并从实践上初步实现对数字信号的处理。
此外,还系统的学习和实现对语音信号处理的整体过程,从语音信号的采集到分析、处理、频谱分析、显示和储存。
二.实验的基本要求数字信号课程设计,屌丝们有福了1.进一步学习和巩固MATLAB的使用,掌握MATLAB的程序设计方法。
2.掌握在windows环境下语音信号采集的方法。
3.掌握数字信号处理的基本概念、基本理论、原理和基本方法。
4.掌握MATLAB设计FIR和IIR数字滤波器的方法。
5.学会用MATLAB对信号进行分析和处理。
三.实验内容录制一段自己的语音信号,(语音信号声音可以理解成由振幅和相位随时间缓慢变化的正弦波构成。
人的听觉对声音的感觉特征主要包含在振幅信息中,相位信息一般不起作用。
在研究声音的性质时,往往把时域信息(波形图)变换得到它的频域信息(频谱),通过研究频谱和与频谱相关联的特征获得声音的特性。
)并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法或者双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号发生的变化;回放语音信号。
数字信号课程设计,屌丝们有福了四.实验的实现(1).语音信号的采集采用windows下的录音机或者手机、其他的软件,录制一段自己的话音,时间控制在一分钟左右;然后在MATLAB软件平台下,利用函数wavread对自己的话音进行采样,记住采样的频率和采样的点数。
信号分析与处理实验(MATLAB)

例:Chebyshev I型数字滤波器设计
通带截止频率wp,阻带截止频率ws,
通带最大衰减rp,阻带最小衰减rs. 假设各参数: wp=30*2 *pi; ws=40*2* pi; Fs=100;
rp=0.3;
rs=80;
例1:Chebyshev I型数字滤波器设计
1. 2. 3. 4.
实验安排
1、信号的产生与运算; 2、连续与离散信号的频谱分析; 3、连续与离散系统分析、滤波; 4、信号处理程序设计;(设计性) (卷积、相关、窗函数、DFT、FFT*) 5、数字滤波器的设计与滤波; 6、wav音频信号的读写与处理。
1、信号的产生与运算
实验目的:掌握用Matlab产生基本信号、绘制波形、实 现基本运算。
Matlab程序举例2:计算卷积
直接计算 x1=[ones(1,5) zeros(1,27) ]; x2=[ones(1,10) zeros(1,22) ]; y1=conv(x1,x2);
用卷积定理 X1=fft(x1,32); X2=fft(x2,32); Y=X1.*X2; y2=real(ifft(Y)); subplot(2,1,1); stem(y1); subplot(2,1,2); stem(y2);
5.
6.
7.
选择阶数: [N, Wn]=cheb1ord(wp, ws, rp, rs, 's'); 创建Chebyshev I型滤波器原型:[z,p,k]=cheb1ap(N,rp); 表达形式从零极点增益形式转换成状态方程形式: [A, B, C, D]=zp2ss(z,p,k); 把模拟低通滤波器原型转换成模拟低通滤波器: [At, Bt, Ct, Dt]=lp2lp(A, B, C, D, Wn); 表达形式从状态方程形式转换成传递函数形式: [num1 ,den 1]=ss2tf(At,Bt,Ct,Dt); 采用冲激响应不变法将模拟滤波器转换成数字滤波器: [num2,den2]=impinvar(num1 ,den1, Fs); 返回数字滤波器的频率响应: [H, W]=freqz(num2,den2,N)
数字信号处理实验报告 (基于MATLAB)

课程名称:数字信号处理实验实验地点:综合楼C407专业班级:2014级生物医学工程姓名:leifeng学号:指导老师:第一次实验第一章 离散时间信号的时域分析Q1.1运行程序P1.1,以产生单位样本序列u[n]并显示它clf; n=-10:20;u=[zeros(1,10) 1 zeros(1,20)]; stem(n,u);xlabel('时间序号');ylabel('振幅'); title('单位样本序列'); axis([-10 20 0 1.2]);时间序号振幅单位样本序列Q1.2 命令clf ,axis ,title ,xlabel 和ylabel 的作用是什么clf :清除图形窗口内容; axis:规定横纵坐标的范围;title :使图像面板上方显示相应的题目名称; xlable :定义横坐标的名字; ylable :定义纵坐标的名字。
Q1.3修改程序P1.1以产生带有延时11个样本的延迟单位样本序列ud[n],运行修改的程序并且显示产生的序列。
clf; n=0:30;u=[zeros(1,11) 1 zeros(1,19)]; stem(n,u);xlabel('时间序号');ylabel('振幅'); title('单位样本序列'); axis([0 30 0 1.2]);时间序号振幅单位样本序列Q1.5 修改程序P1.1,以产生带有超前7个样本的延时单位阶跃序列sd[n]。
运行修改后的程序并显示产生的序列。
clf; n=-10:20;sd=[zeros(1,3) 1 ones(1,27) ]; stem(n,sd);xlabel('时间序号');ylabel('振幅'); title('单位样本序列'); axis([-10 20 0 1.2]);时间序号振幅单位样本序列Q1.6运行程序P1.2,以产生复数值的指数序列。
随机信号分析实验报告(基于MATLAB语言)

随机信号分析实验报告——基于MATLAB语言姓名:_班级:_学号:专业:目录实验一随机序列的产生及数字特征估计 (2)实验目的 (2)实验原理 (2)实验内容及实验结果 (3)实验小结 (6)实验二随机过程的模拟与数字特征 (7)实验目的 (7)实验原理 (7)实验内容及实验结果 (8)实验小结 (11)实验三随机过程通过线性系统的分析 (12)实验目的 (12)实验原理 (12)实验内容及实验结果 (13)实验小结 (17)实验四窄带随机过程的产生及其性能测试 (18)实验目的 (18)实验原理 (18)实验内容及实验结果 (18)实验小结 (23)实验总结 (23)实验一随机序列的产生及数字特征估计实验目的1.学习和掌握随机数的产生方法。
2.实现随机序列的数字特征估计。
实验原理1.随机数的产生随机数指的是各种不同分布随机变量的抽样序列(样本值序列)。
进行随机信号仿真分析时,需要模拟产生各种分布的随机数。
在计算机仿真时,通常利用数学方法产生随机数,这种随机数称为伪随机数。
伪随机数是按照一定的计算公式产生的,这个公式称为随机数发生器。
伪随机数本质上不是随机的,而且存在周期性,但是如果计算公式选择适当,所产生的数据看似随机的,与真正的随机数具有相近的统计特性,可以作为随机数使用。
(0,1)均匀分布随机数是最最基本、最简单的随机数。
(0,1)均匀分布指的是在[0,1]区间上的均匀分布, U(0,1)。
即实际应用中有许多现成的随机数发生器可以用于产生(0,1)均匀分布随机数,通常采用的方法为线性同余法,公式如下:,序列为产生的(0,1)均匀分布随机数。
定理1.1若随机变量X 具有连续分布函数,而R 为(0,1)均匀分布随机变量,则有2.MATLAB中产生随机序列的函数(1)(0,1)均匀分布的随机序列函数:rand用法:x = rand(m,n)功能:产生m×n 的均匀分布随机数矩阵。
(2)正态分布的随机序列函数:randn用法:x = randn(m,n)功能:产生m×n 的标准正态分布随机数矩阵。
基于MATLAB的信号分析与处理

山东建筑大学课程设计说明书题目:基于MATLAB的信号分析与处理课程:数字信号处理课程设计院(部):信息与电气工程学院专业:通信工程班级:通信学生姓名:学号:指导教师:完成日期:目录目录 (1)摘要 (2)正文 (3)1设计目的和要求 (3)2设计原理 (3)3设计内容 (4)3.1源程序代码 (4)3.2程序执行的结果........................................ (7)3.3调试分析过程描述 (12)3.4结果分析 ................................... 错误!未定义书签。
总结与致谢 (14)参考文献 (15)摘要随着科学技术的飞速发展,人们对信号的要求越来越高。
然而,学好《数字信号处理》这门课程是我们处理信号的基础。
MATLAB是一个处理信号的软件,我们必须熟悉它的使用。
本次课程设计利用MATLAB软件首先产生成低频、中频、高频三种频率信号,然后将三种信号合成为连续信号,对连续周期信号抽样、频谱分析,并设计低通、带通、高通三种滤波器对信号滤波,观察滤出的信号与原信号的关系,并分析了误差的产生,通对数字信号处理课程的理论知识的综合运用。
从实践上初步实现对数字信号的处理。
关键词:MATLAB;连续信号;采样定理;滤波器;频谱分析;正文1设计目的和要求(1)、产生一个连续信号,该信号中包含有低频、中频、高频分量,对其进行采样,用MATLAB绘制它们的时域波形和频域波形,对其进行频谱分析;(2)、根据信号频谱分析的结果,分别设计合适的低通、带通、高通滤波器,用MATLAB绘制其幅频及相频特性图;(3)、用所设计的滤波器对信号进行滤波处理,对滤波后的信号进行FFT 频谱分析,用MATLAB绘制处理过程中的各种波形及频谱图,比较滤波前后的时域波形及频谱,对所得结果和滤波器性能进行分析,阐明原因,得出结论;(4)学会使用MATLAB对信号进行分析和处理;2设计原理理论上信号的采样要符合奈奎斯特采样定律,就是采样频率要高一点,一般为被采信号最高频率的2倍,只有这样,才能保证频域不混叠,也就是采样出来数字信号中包含了被采信号的所有信息,而且没有引入干扰。
信号分析与处理实验报告(基于MATLAB)

武汉工程大学电气信息学院2、四、思考:1、为什么图二中t=0处曲线是间断的,如何使其成为连续的曲线?因为axis函数对纵坐标的的上边界限定过小,使图形在边界处不能完整的显示。
2.3.四、思考:1、代数运算符号*和.*的区别是?*是矩阵相乘,是矩阵A行元素与B的列元素相乘的和.*是数组相乘,表示数组A和数组B中的对应元素相乘实验内容实验三连续时间信号的卷积一、实验内容1、已知两连续时间信号如下图所示,绘制信号f1(t)、f2(t)及卷积结果f(t)的波形;设时间变化步长dt分别取为0.5、0.1、0.01,当dt取多少时,程序的计算结果就是连续时间卷积的较好近似?2.实验内容1.2.实验内容实验五 连续时间信号的频域分析一、实验内容1、如图5.4所示的奇谐周期方波信号,周期为T1=1,幅度为A=1,将该方波信号展开成三角形式Fourier 级数并分别采用频域矩形窗和Hanning 窗加权,绘制两种窗函数加权后的方波合成图像。
时间范围取为-2~2,步长值取为0.01。
2、将图5.5中的锯齿波展开为三角形式Fourier 级数,按(2)式求出Fourier 级数的系数,并在频域分别采用矩形窗、Hanning 窗和三角窗加权,观察其Gibbs 效应及其消除情况。
时间范围取为-2~2,步长值取为0.01。
3、选做:编程计算连续时间周期信号的三角形式傅里叶级数展开的系数二、实验方法与步骤1、将方波信号展开成三角形式Fourier 级数并分别采用频域矩形窗和Hanning 窗加权 方波展开的三角式傅立叶级数为:()()t k k t x L k 1,5,3,1sin 4ωπ⋅∑=∞= 采用频域矩形窗加权,则展开式变为:()()()[]t k k t x K k 1012sin 124ωπ+⋅+∑==a0=2/T*int(f,t,0,T); %求函数f对t从0到T的定积分a0=simplify(a0) %得出结果syms kfa=t*cos(k*w*t);fb=t*sin(k*w*t);ak=2/T*int(fa,t,0,T); %求函数fa对t从0到T的定积分bk=2/T*int(fb,t,0,T); %求函数fb对t从0到T的定积分ak=simplify(ak)bk=simplify(bk)三、实验数据与结果分析1.2.3.根据绘制的幅频特性曲线,系统具有低通滤波特性2.根据绘制的幅频特性曲线,系统具有带通滤波特性。
信号分析与处理实验报告(基于matlab)

fr=real(f);%描述函数实部
fi=imag(f);%描述函数虚部
fa=abs(f);%描述函数幅度
fg=angle(f);%描述函数相位
subplot(2,2,1)%将当前窗口分成2行2列个子窗口,并在第1个子窗口绘图
plot(t,fr)
title('实部')
ty=t0:dt:(t0+(t3-1)*dt);%确定卷积结果的非零样值的时间向量
subplot(3,1,1)
plot(t1,f1)%绘制信号f1(t)的时域波形
title('f1')
xlabel('t1')
axis([-0.2,10.2,-0.2,1])
gridon
subplot(3,1,2)
plot(t2,f2)%绘制信号f2(t)的时域波形
1、将方波信号展开成三角形式Fourier级数并分别采用频域矩形窗和Hanning窗加权
方波展开的三角式傅立叶级数为:
采用频域矩形窗加权,则展开式变为:
采用Hanning窗加权,则展开式变为:
程序代码如下:
clearall
closeall
clc
t1=-2:0.01:2;
t2=-2:0.01:2;
K=30
xlabel('t')
axis([-0.5,20.5,-0.8,1.2])
gridon
subplot(2,2,2)%将当前窗口分成2行2列个子窗口,并在第2个子窗口绘图
plot(t,fi)
title('虚部')
xlabel('t')
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
武汉工程大学电气信息学院
title('幅度')
xlabel('t')
axis([-0.5,20.5,0,1.1])
grid on
subplot(2,2,4) %将当前窗口分成2行2列个子窗口,并在第4个子窗口绘图plot(t,fg)
title('相位')
xlabel('t')
axis([-0.5,20.5,-3.5,3.5])
grid on
三、实验数据与结果分析
1、
2、
四、思考:
1、为什么图二中t=0处曲线是间断的,如何使其成为连续的曲线?
因为axis函数对纵坐标的的上边界限定过小,使图形在边界处不能完整的显示。
xlabel('t')
axis([-7,7,-1,2])
grid on
三、实验数据与结果分析
1.
2.
3.
四、思考:
1、代数运算符号*和.*的区别是?
*是矩阵相乘,是矩阵A行元素与B的列元素相乘的和
.*是数组相乘,表示数组A和数组B中的对应元素相乘
实 验 内 容
实验三 连续时间信号的卷积
一、实验内容
1、已知两连续时间信号如下图所示,绘制信号f 1(t)、f 2(t)及卷积结果f(t)的波形;设时间变化步长dt 分别取为0.5、0.1、0.01,当dt 取多少时,程序的计算结果就是连续时间卷积的较好近似?
2、、计算信号
()()()11==-a t u e t f at 和()()t tu t f sin 2=的卷积f(t),f 1(t)、f 2(t)的时间
范围取为0~10,步长值取为0.1。
绘制三个信号的波形。
二、实验方法与步骤
1、绘制信号f 1(t)、f 2(t)及卷积结果f(t)的波形,当dt 取0.01时程序的计算结果就是连续时间卷积的较好近似 程序代码如下:
clear all close all clc dt=0.01 t1=0:dt:2; t2=-1:dt:1;
三、实验数据与结果分析
1.
2.
三、实验数据与结果分析1.
2.
实 验 内 容
实验五 连续时间信号的频域分析
一、实验内容
1、如图5.4所示的奇谐周期方波信号,周期为T1=1,幅度为A=1,将该方波信号展开成三角形式Fourier 级数并分别采用频域矩形窗和Hanning 窗加权,绘制两种窗函数加权后的方波合成图像。
时间范围取为-2~2,步长值取为0.01。
2、将图5.5中的锯齿波展开为三角形式Fourier 级数,按(2)式求出Fourier 级数的系数,并在频域分别采用矩形窗、Hanning 窗和三角窗加权,观察其Gibbs 效应及其消除情况。
时间范围取为-2~2,步长值取为0.01。
3、选做:编程计算连续时间周期信号的三角形式傅里叶级数展开的系数
二、实验方法与步骤
1、将方波信号展开成三角形式Fourier 级数并分别采用频域矩形窗和Hanning 窗加权 方波展开的三角式傅立叶级数为:
()()t k k t x L
k 1,5,3,1sin 4ωπ
⋅∑
=∞
=
采用频域矩形窗加权,则展开式变为:
()()()[]t k k t x K
k 10
12sin 124
ωπ
+⋅+∑==
a0=2/T*int(f,t,0,T); %求函数f对t从0到T的定积分
a0=simplify(a0) %得出结果
syms k
fa=t*cos(k*w*t);
fb=t*sin(k*w*t);
ak=2/T*int(fa,t,0,T); %求函数fa对t从0到T的定积分bk=2/T*int(fb,t,0,T); %求函数fb对t从0到T的定积分ak=simplify(ak)
bk=simplify(bk)
三、实验数据与结果分析
1.
2.
3.
根据绘制的幅频特性曲线,系统具有低通滤波特性2.
根据绘制的幅频特性曲线,系统具有带通滤波特性。