当前位置:文档之家› 数字信号处理报告

数字信号处理报告

数字信号处理报告
数字信号处理报告

数字信号处理课程设计报告

题目:数字滤波器的设计

院系:

专业:电子信息科学与技术

班级:

姓名:

学号:

联系方式:

指导教师:

报告成绩:

2016年12月16日

1、课程设计的目的和意义

1. MATLAB软件功能简介

MATLAB的名称源自Matrix Laboratory,1984年由美国Mathworks公司推向市场。它是一种科学计算软件,专门以矩阵的形式处理数据。MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛的应用于科学计算、控制系统和信息处理等领域的分析、仿真和设计工作。

MATLAB软件包括五大通用功能,数值计算功能(Nemeric)、符号运算功能(Symbolic)、数据可视化功能(Graphic)、数字图形文字统一处理功能(Notebook)和建模仿真可视化功能(Simulink)。其中,符号运算功能的实现是通过请求MAPLE内核计算并将结果返回到MATLAB命令窗口。该软件有三大特点,一是功能强大;二是界面友善、语言自然;三是开放性强。目前,Mathworks 公司已推出30多个应用工具箱。MATLAB在线性代数、矩阵分析、数值及优化、数值统计和随机信号分析、电路与系统、系统动力学、次那好和图像处理、控制理论分析和系统设计、过程控制、建模和仿真、通信系统以及财政金融等众多领域的理论研究和工程设计中得到了广泛应用。

MATLAB在信号与系统中的应用主要包括符号运算和数值计算仿真分析。由于信号与系统课程的许多内容都是基于公式演算,而MATLAB借助符号数学工具箱提供的符号运算功能,能基本满足信号与系统课程的需求。例如解微分方程、傅里叶正反变换、拉普拉斯正反变换和z正反变换等。MATLAB在信号与系统中的另一主要应用是数值计算与仿真分析,主要包括函数波形绘制、函数运算、冲击响应与阶跃响应仿真分析、信号的时域分析、信号的频谱分析、系统的S域分析和零极点图绘制等内容。数值计算仿真分析可以帮助学生更深入地理解理论知识,并为将来使用MATLAB进行信号处理领域的各种分析和实际应用打下基础。

2. 本题目的意义

本次课程设计的课题为《基于MATLAB的语音信号采集与处理》,学会运用MATLAB的信号处理功能,采集语音信号,并对语音信号进行滤波及变换处理,观察其时域和频域特性,加深对信号处理理论的理解,并为今后熟练使用MATLAB进行系统的分析仿真和设计奠定基础

2实验原理

1.理论原理

利用MATLAB对语音信号进行分析和处理,采集语音信号后,利用MATLAB 软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。

2具体流程

(1)语音信号的采集及分析

从录制一段语音信号,经过格式工厂将格式转为wav格式,并命名为“ww.wav”。在Matlab平台下调用wavread函数可采集到语音信号。

即[x1]=wavread('D:/w.wav');

sound(x1,45050); %读出原始语音信号

原始的语音信号波形与频谱

(2)给原始信号加上一个高频噪声

在Matlab中设计一个高频噪声干扰信号。噪声信号通常为随机序列,在本设计中为高斯随机噪声,干扰信号构建命令函数为x2=0.01*randn(N,2),给出的干扰信号为一个高斯随机信号,针对上面的语音信号,采集了其中一段。再对噪音信号进行频谱变换得到其频谱图。

在MATLAB中把语音信号与噪声信号进行叠加,并对其进行播放,然后对加入噪声后的语音信号进行频谱分析,在MATLAB中可以利用函数FFT对信号进行快速傅里叶变换。

将原语音信号与噪声信号x2叠加,调用的形式为:

x3=x2+x1;

其中,x1为原语音信号,x2为所构造的随机高斯噪声,x3即为两者的叠加后的语音信号。

加入的高斯随机噪声

3) 滤波器的设计,滤除高频噪声

在MATLAB中,利用窗函数hamming,设计FIR滤波器,利用MATLAB 中的函数freqz 画出滤波器的频率响应。并用设计好的滤波器对含噪语音信号进行滤波,在Matlab中,FIR滤波器利用函数filter对信号进行滤波滤波器设计程序代码:

Wp=3000*2*pi;Ws=3500*2*pi;Ap=0.3;As=50;Fs=45050;

wp=Wp/Fs;ws=Ws/Fs; %归一化通带截频阻带截频

wdelta=ws-wp; %过渡带宽

%由阻带最小衰减指标确定选用汉明窗并确定其阶数

N=ceil(6.6*pi/wdelta);

Nw=N;

n=0:N-1;

wc=(wp+ws)/2; %理想截频

alpha=(N-1)/2;

m=n-alpha+eps;%理想滤波器脉冲响应

hd=sin(wc*m)./(pi*m); %采用汉明窗设计

win=hamming(Nw);

h=hd.*win';

b=h;

[H,f]=freqz(b,1,512,Fs); %绘制滤波器的幅频响应图 figure(4);

plot(f,20*log10(abs(H)))

xlabel('Hz');ylabel('幅值');

title('滤波器幅频特性');

信号滤波程序代码:

x4=fftfilt(b,x3); %滤波输出

sound(x4,45050);%输入输出频谱

figure(1);

subplot(2,2,3);

plot(x4) % 绘制输出信号

xlabel('time(s)'),ylabel('幅值');

title('滤波后输出信号');

Y=fft(x4);

figure(3);

subplot(2,2,3);

plot(abs(Y));

xlabel('Hz');ylabel('幅值');

title('滤波后输出信号频谱')

滤波后的波形和频谱

3 实验结果

滤波前后的波形比较

4本程序运行后,一共播放四段语音信号。首先播放原语音信号,接着是噪声信号,然后是加噪后的语音信号,最后是滤波后的信号,每段语音信号大约11s。

同时对语音信号的特性进行图像显示,在figure1中显示了原始语音信号、加噪后的语音信号、滤波后输出信号各自的幅值随时间的变化

5 心得体会

通过这一个礼拜使用Matlab对语音信号进行处理,进一步熟悉了Matlab的使用,并对语音信号的格式有了更全面的认识。自己在电脑上录音并进行了语音的格式转换,变换为wav的语音格式。在程序设计中学会了一些Matlab中基本的语音运行及处理程序,比如:语音读取函数wavread()、语音播放函数sound()、快速傅里叶变换fft()、滤波处理fftfilt()。并加深了对课堂抽象概念的理解,巩固了课堂上所学的理论知识,并能很好的理解和掌握语音信号处理中运用的方法,同时掌握编程方法和解决实际问题的技巧

参考文献

[1]张志涌.精通MATLAB 6.5版[M].北京:北京航空航天大学出版社,2003.

[2]约翰·G·普罗克斯.数字信号处理[M].西安:西安交通大学出版社,2009.

[3]张小虹.信号系统与数字信号处理[M].第1版.西安:西安电子

科技出版社,2002.

[4]谢德芳.数字信号处理[M].北京:科学出版社,2005.

[5]郝建军.数字通信[M].第2版.北京:北京邮电大学出版社,2010.

[6]张威.MATLAB 基础与编程入门[M].西安:西安电子科技大学出版社,2010.

附录:

[x1]=wavread('E:/w.wav');

sound(x1,45050); %读出原始语音信号

y1=fft(x1,1024); %对原始信号进行1024点傅里叶变换

Fs=45050;频率

f=Fs*(0:511)/1024;分别表示nfft个频率点

figure(1) 打开图形窗口

subplot(2,2,1);确定第一个绘图窗口

plot(x1) %显示原始信号以x1绘图

title('原始语音信号');取名

xlabel('time(s)');x轴名

ylabel('幅值');

figure(3)

subplot(2,2,1);

plot(f,abs(y1(1:512)));做原始语音信号的FFT频谱图

title('原始语音信号频谱');

xlabel('Hz');

N=length(x1); %计算原始语音信号的长度x2=0.05*randn(N,2); x2为随机噪声

sound(x2,45050);播放噪声

figure(2)

plot(x2)

title('高斯随机噪声');

xlabel('time(s)');

ylabel('幅值');

x3=x2+x1;

sound(x3,45050);

y2=fft(x3,1024);

figure(1)

subplot(2,2,2);

plot(x3) %显示加噪后的语音信号

title('加噪后的语音信号');

xlabel('time(s)');

ylabel('幅值');

figure(3);

subplot(2,2,2);

plot(f,abs(y2(1:512)));

title('加噪后的语音信号频谱');

ylabel('幅值');

Nbits=16;

wavwrite(x3,Fs,Nbits,'noise.wav'); %将加噪的信号保存Wp=3000*2*pi;Ws=3500*2*pi;Ap=0.3;As=50;Fs=45050; wp=Wp/Fs;ws=Ws/Fs; %归一化通带截频阻带截频wdelta=ws-wp; %过渡带宽

%由阻带最小衰减指标确定选用汉明窗并确定其阶数

N=ceil(6.6*pi/wdelta);

Nw=N;

n=0:N-1;

wc=(wp+ws)/2; %理想截频

alpha=(N-1)/2;

m=n-alpha+eps;%理想滤波器脉冲响应

hd=sin(wc*m)./(pi*m); %采用汉明窗设计

win=hamming(Nw);

h=hd.*win';

b=h;

[H,f]=freqz(b,1,512,Fs); %绘制滤波器的幅频响应图figure(4);

plot(f,20*log10(abs(H)))

xlabel('Hz');ylabel('幅值');

title('滤波器幅频特性');

x4=fftfilt(b,x3); %滤波输出sound(x4,45050);%输入输出频谱figure(1);

subplot(2,2,3);

plot(x4) % 绘制输出信号xlabel('time(s)'),ylabel('幅值'); title('滤波后输出信号');

Y=fft(x4);

figure(3);

subplot(2,2,3);

plot(abs(Y));

xlabel('Hz');ylabel('幅值');

title('滤波后输出信号频谱')

数字信号处理(北航)实验二报告

数字信号处理实验二 信号的分析与处理综合实验 38152111 张艾一、实验目的 综合运用数字信号处理的理论知识进行信号的采样,重构,频谱分析和滤波器的设计,通过理论推导得出相应结论,再利用Matlab作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。 二、基本要求 1.掌握数字信号处理的基本概念、基本理论和基本方法; 2.学会MATLAB的使用,掌握MATLAB的程序设计方法; 3.掌握用MATLAB设计简单实验验证采样定理的方法; 4.掌握在Windows环境下语音信号采集的方法; 5.学会用MATLAB对信号进行频谱分析; 6.掌握MATLAB设计FIR和IIR数字滤波器的方法; 三、实验内容 1.利用简单正弦信号设计实验验证采样定理: (1)Matlab产生离散信号的方法,作图的方法,以及基本运算操作 (2)对连续正弦信号以不同的采样频率作采样 (3)对采样前后信号进行傅立叶变换,并画频谱图 (4)分析采样前后频谱的有变化,验证采样定理。

掌握画频谱图的方法,深刻理解采样频率,信号频率,采样点数,频率分辨率等概念2.真实语音信号的采样重构:录制一段自己的语音信号,并对录制的信号进行采样;画出采样前后语音信号的时域波形和频谱图;对降采样后的信号进行插值重构,滤波,恢复原信号。 (1)语音信号的采集 (2)降采样的实现(改变了信号的采样率) (3)以不同采样率采样后,语音信号的频谱分析 (4)采样前后声音的变化 (5)对降采样后的信号进行插值重构,滤波,恢复原信号 3.带噪声语音信号的频谱分析 (1)设计一频率已知的噪声信号,与实验2中原始语音信号相加,构造带噪声信号(2)画出原始语音信号和加噪声后信号,以及它们的频谱图 (3)利用频谱图分析噪声信号和原语音信号的不同特性 4.对带噪声语音信号滤波去噪:给定滤波器性能指标,采样窗函数法或双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采样的语音信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化; 回放语音信号; (1)分析带噪声信号频谱,找出噪声所在的频率段 (2)利用matlab中已有的滤波器滤波 (3)根据语音信号特点,自己设计滤波器滤波 (4)比较各种滤波器性能(至少四种),选择一种合适的滤波器将噪声信号滤除 (5)回放语音信号,比较滤波前后声音的变化

数字信号处理实验报告

语音信号的数字滤波 一、实验目的: 1、掌握使用FFT进行信号谱分析的方法 2、设计数字滤波器对指定的语音信号进行滤波处理 二、实验内容 设计数字滤波器滤除语音信号中的干扰(4 学时) 1、使用Matlab的fft函数对语音信号进行频谱分析,找出干扰信号的频谱; 2、设计数字滤波器滤除语音信号中的干扰分量,并进行播放对比。 三、实验原理 通过观察原语音信号的频谱,幅值特别大的地方即为噪声频谱分量,根据对称性,发现有四个频率的正弦波干扰,将它们分别滤掉即可。采用梳状滤波器,经过计算可知,梳状滤波器h[n]={1,A,1}的频响|H(w)|=|A+2cos(w)|,由需要滤掉的频率分量的频响w,即可得到A,进而得到滤波器的系统函数h[n]。而由于是在离散频域内进行滤波,所以令w=(2k*pi/N)即可。 对原信号和四次滤波后的信号分别进行FFT变换,可以得到它们的幅度相应。最后,将四次滤波后的声音信号输出。 四、matlab代码 clc;clear;close all; [audio_data,fs]=wavread('SunshineSquare.wav'); %读取未处理声音 sound(audio_data,fs); N = length(audio_data); K = 0:2/N:2*(N-1)/N; %K为频率采样点

%sound(audio_data,fs); %进行一次FFT变换 FFT_audio_data=fft(audio_data); mag_FFT_audio_data = abs(FFT_audio_data); %画图 figure(1) %原信号时域 subplot(2,1,1);plot(audio_data);grid; title('未滤波时原信号时域');xlabel('以1/fs为单位的时间');ylabel('采样值'); %FFT幅度相位 subplot(2,1,2);plot(K,mag_FFT_audio_data);grid; title('原信号幅度');xlabel('以pi为单位的频率');ylabel('幅度'); %构造h[n]={1,A,1}的梳状滤波器,计算A=2cosW,妻子W为要滤掉的频率%由原信号频谱可知要分四次滤波,滤掉频响中幅度大的频率分量 %第一次滤波 a = [1,0,0,0];%y[n]的系数 [temp,k]=max(FFT_audio_data); A1=-2*cos(2*pi*k/N); h1=[1,A1,1]; audio_data_h1 = filter(h1,a,audio_data); FFT_audio_data_h1=fft(audio_data_h1);

西电数字信号处理上机实验报告

数字信号处理上机实验报告 14020710021 张吉凯 第一次上机 实验一: 设给定模拟信号()1000t a x t e -=,t 的单位是ms 。 (1) 利用MATLAB 绘制出其时域波形和频谱图(傅里叶变换),估计其等效带宽(忽略谱分量降低到峰值的3%以下的频谱)。 (2) 用两个不同的采样频率对给定的()a x t 进行采样。 ○1()()15000s a f x t x n =以样本秒采样得到。 ()()11j x n X e ω画出及其频谱。 ○2()()11000s a f x t x n =以样本秒采样得到。 ()() 11j x n X e ω画出及其频谱。 比较两种采样率下的信号频谱,并解释。 (1)MATLAB 程序: N=10; Fs=5; T s=1/Fs; n=[-N:T s:N]; xn=exp(-abs(n)); w=-4*pi:0.01:4*pi; X=xn*exp(-j*(n'*w)); subplot(211) plot(n,xn); title('x_a(t)时域波形'); xlabel('t/ms');ylabel('x_a(t)'); axis([-10, 10, 0, 1]); subplot(212); plot(w/pi,abs(X)); title('x_a(t)频谱图'); xlabel('\omega/\pi');ylabel('X_a(e^(j\omega))');

ind = find(X >=0.03*max(X))*0.01; eband = (max(ind) -min(ind)); fprintf('等效带宽为%fKHZ\n',eband); 运行结果: 等效带宽为12.110000KHZ

数字信号处理实验报告

Name: Section: Laboratory Exercise 2 DISCRETE-TIME SYSTEMS: TIME-DOMAIN REPRESENTATION 2.1 SIMULATION OF DISCRETE-TIME SYSTEMS Project 2.1The Moving Average System A copy of Program P2_1 is given below: % Program P2_1 % Simulation of an M-point Moving Average Filter % Generate the input signal n = 0:100; s1 = cos(2*pi*0.05*n); % A low-frequency sinusoid s2 = cos(2*pi*0.47*n); % A high frequency sinusoid x = s1+s2; % Implementation of the moving average filter M = input('Desired length of the filter = '); num = ones(1,M); y = filter(num,1,x)/M; % Display the input and output signals clf; subplot(2,2,1); plot(n, s1); axis([0, 100, -2, 2]); xlabel('Time index n'); ylabel('Amplitude'); title('Signal #1'); subplot(2,2,2); plot(n, s2); axis([0, 100, -2, 2]); xlabel('Time index n'); ylabel('Amplitude'); title('Signal #2'); subplot(2,2,3); plot(n, x); axis([0, 100, -2, 2]); xlabel('Time index n'); ylabel('Amplitude'); title('Input Signal'); subplot(2,2,4); plot(n, y); axis([0, 100, -2, 2]); xlabel('Time index n'); ylabel('Amplitude'); title('Output Signal'); axis;

数字信号处理上机实验代码

文件名:tstem.m(实验一、二需要) 程序: f unction tstem(xn,yn) %时域序列绘图函数 %xn:被绘图的信号数据序列,yn:绘图信号的纵坐标名称(字符串)n=0:length(xn)-1; stem(n,xn,'.'); xlabel('n');ylabel('yn'); axis([0,n(end),min(xn),1.2*max(xn)]); 文件名:tplot.m(实验一、四需要) 程序: function tplot(xn,T,yn) %时域序列连续曲线绘图函数 %xn:信号数据序列,yn:绘图信号的纵坐标名称(字符串) %T为采样间隔 n=0;length(xn)-1;t=n*T; plot(t,xn); xlabel('t/s');ylabel(yn); axis([0,t(end),min(xn),1.2*max(xn)]); 文件名:myplot.m(实验一、四需要)

%(1)myplot;计算时域离散系统损耗函数并绘制曲线图。function myplot(B,A) %B为系统函数分子多项式系数向量 %A为系统函数分母多项式系数向量 [H,W]=freqz(B,A,1000) m=abs(H); plot(W/pi,20*log10(m/max(m)));grid on; xlabel('\omega/\pi');ylabel('幅度(dB)') axis([0,1,-80,5]);title('损耗函数曲线'); 文件名:mstem.m(实验一、三需要) 程序: function mstem(Xk) %mstem(Xk)绘制频域采样序列向量Xk的幅频特性图 M=length(Xk); k=0:M-1;wk=2*k/M;%产生M点DFT对应的采样点频率(关于pi归一化值) stem(wk,abs(Xk),'.');box on;%绘制M点DFT的幅频特性图xlabel('w/\pi');ylabel('幅度'); axis([0,2,0,1.2*max(abs(Xk))]); 文件名:mpplot.m(实验一需要)

数字信号处理实验八(上机)报告概论

数字信号处理实验报告 实验名称: 实验八 双线性变换法IIR 数字滤波器设计 实验时间: 2014 年 12 月 9 日 学号: 201211106134 姓名: 孙舸 成绩: 评语: 一、 实验目的: 1、掌握用双线性变换法设计低通IIR 数字滤波器的基本原理和算法; 2、掌握用双线性变换法设计高通和带通IIR 数字滤波器的基本原理和算法; 3、进一步了解数字滤波器和模拟滤波器的频率响应特性。 二、 实验原理与计算方法: 1、双线性变换法设计IIR 低通数字滤波器的基本原理和算法 双线性变换法设计数字滤波器,采用了二次映射的方法,就是先将整个s 平面压缩到s 1平面的一个T j T j π π ~-的横形条带范围内,然后再将这个条带映射到z 平面上,就 能建立s 平面到z 平面的一一对应关系。对于低通数字滤波器,映射关系为 z z T z z T s ++-= +-=--11211211 (1) 其中T 为抽样周期。 用双线性变换法设计低通IIR 数字滤波器的基本步骤,首先根据设计要求确定相应的模拟滤波器的传递函数)(s H a ,再应用(1)式得数字滤波器的传递函数)(z H z z T s a s H z H ++-==112) ()( (2) 通常可以给定的参数为:低通数字滤波器通带边界频率p p f πΩ21=、阻带边界频率 s s f πΩ21=和对应的通带衰减函数p α、阻带衰减函数s α。s 1平面中的模拟角频率1Ω与数 字角频率ω的关系为线性关系T 1Ωω=,在计算模拟滤波器的阶数N 、极点s i 和传递函数)(s H a 之前,应作预畸变处理 2 2tan 22tan 2 1T f T T T πΩΩ== (3) 模拟滤波器的阶数N 、极点s i 和传递函数)(s H a 的计算方法与冲激响应不变法相同,

数字信号处理作业DOC

成绩: 《数字信号处理》作业与上机实验 (第三四章) 班级: 13-电信 学号: 姓名: 任课老师:李宏民 完成时间: 15.11.08 信息与通信工程学院 2015—2016学年第1学期

第3-4章 离散傅里叶变换及快速算法与应用 一、实验内容及要求: 1、对信号在x(n)={1,2,3,4,5,6,7,8},n=0,1,2....7,求其N=8点的DFT 。要求采用基于时间抽取算法编写FFT 实现程序,画出DFT 幅度谱与相位谱,并将计算结果与用MATLAB 自带的FFT 函数计算结果进行比较。 2、一个由40Hz 和100 Hz 正弦信号构成的信号,受零均值随机噪声的干扰(噪声服从标准正态分布,由randn 函数产生,n(t)= randn(m,n) 返回一个m*n 的随机矩阵),即()sin(2100)sin(240)()s t t t n t ππ=++g g 。数据 采样率为500Hz ,试用FFT 函数来分析其信号频率成分。 ① 求其幅度频谱,从频谱图(横坐标以HZ 为单位,用plot 函数画图)中能否观察出信号的2个频率分量? ② 提高采样点数,再求该信号的幅度频谱图,此时幅度频谱发生了什么变化?信号的2个模拟频率和数字频率各为多少?FFT 频谱分析结果与理论上是否一致? 3、研究高密度频谱与高分辨率频谱。频率分辨率是指所用的算法能将信号中两个靠得很近的谱峰分开的能力。信号末尾补零由于没有对原信号增加任何新的信息,因此不能提高频率分辨率,但可以减小栅栏效应,所得到的频谱称为高密度频谱。在维持采样频率不变的情况下,为提高分辨率只能增加采样点数N ,此时所得到的频谱称为高分辨率频谱。设有连续信号 ) 1092cos()1072cos()105.62cos()(333t t t t x a ??π+??π+??π=

数字信号处理上机实验(第三版)

数字信号处理实验(Matlab) 实验一: 系统响应及系统稳定性 %实验1:系统响应及系统稳定性 close all;clear all %======内容1:调用filter解差分方程,由系统对u(n)的响应判断稳定性====== A=[1,-0.9];B=[0.05,0.05]; %系统差分方程系数向量B和A x1n=[1 1 1 1 1 1 1 1 zeros(1,50)]; %产生信号x1(n)=R8(n) x2n=ones(1,128); %产生信号x2(n)=u(n) hn=impz(B,A,58); %求系统单位脉冲响应h(n) subplot(2,2,1);y='h(n)';tstem(hn,y); %调用函数tstem绘图 title('(a)系统单位脉冲响应h(n)');box on y1n=filter(B,A,x1n); %求系统对x1(n)的响应y1(n) subplot(2,2,2);y='y1(n)';tstem(y1n,y); title('(b)系统对R8(n)的响应y1(n)');box on y2n=filter(B,A,x2n); %求系统对x2(n)的响应y2(n) subplot(2,2,4);y='y2(n)';tstem(y2n,y); title('(c)系统对u(n)的响应y2(n)');box on %===内容2:调用conv函数计算卷积============================ x1n=[1 1 1 1 1 1 1 1 ]; %产生信号x1(n)=R8(n) h1n=[ones(1,10) zeros(1,10)]; h2n=[1 2.5 2.5 1 zeros(1,10)];

数字信号处理实验报告(同名22433)

《数字信号处理》 实验报告 课程名称:《数字信号处理》 学院:信息科学与工程学院 专业班级:通信1502班 学生姓名:侯子强 学号:0905140322 指导教师:李宏 2017年5月28日

实验一 离散时间信号和系统响应 一. 实验目的 1. 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解 2. 掌握时域离散系统的时域特性 3. 利用卷积方法观察分析系统的时域特性 4. 掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对离散信号及系统响应进行频域分析 二、实验原理 1. 采样是连续信号数字化处理的第一个关键环节。对采样过程的研究不仅可以了解采样前后信号时域和频域特性的变化以及信号信息不丢失的条件,而且可以加深对离散傅里叶变换、Z 变换和序列傅里叶变换之间关系式的理解。 对连续信号()a x t 以T 为采样间隔进行时域等间隔理想采样,形成采样信号: ?()()()a a x t x t p t = 式中()p t 为周期冲激脉冲,$()a x t 为()a x t 的理想采样。 ()a x t 的傅里叶变换为μ ()a X j Ω: 上式表明将连续信号()a x t 采样后其频谱将变为周期的,周期为Ωs=2π/T 。也即采样信 号的频谱μ()a X j Ω是原连续信号xa(t)的频谱Xa(jΩ)在频率轴上以Ωs 为周期,周期延拓而成 的。因此,若对连续信号()a x t 进行采样,要保证采样频率fs ≥2fm ,fm 为信号的最高频率,才可能由采样信号无失真地恢复出原模拟信号 计算机实现时,利用计算机计算上式并不方便,因此我们利用采样序列的傅里叶变换来实现,即 ()() n P t t nT δ∞ =-∞ = -∑μ1()()*() 21 ()n a a a s X j X j P j X j jn T π∞ =-∞ Ω=ΩΩ= Ω-Ω∑μ()()|j a T X j X e ωω=ΩΩ=

数字信号处理上机报告-一

数字信号处理上机报告-一

数字信号处理第一次上机实验报告 实验一: 设给定模拟信号()1000t a x t e -=,的单位是ms 。 (1) 利用MATLAB 绘制出其时域波形和频谱图(傅里叶变换),估计其等效带宽(忽略谱分量降低到峰值的3%以下的频谱)。 (2) 用两个不同的采样频率对给定的进行采样。 ○1 。 ○2 。 比较两种采样率下的信号频谱,并解释。 实验一MATLAB 程序: (1) N=10; Fs=5; Ts=1/Fs; n=[-N:Ts:N]; xn=exp(-abs(n)); w=-4*pi:0.01:4*pi; X=xn*exp(-j*(n'*w)); subplot(211) plot(n,xn); title('x_a(t)时域波形'); xlabel('t/ms');ylabel('x_a(t)'); t ()a x t ()()15000s a f x t x n =以样本秒采样得到。()()11j x n X e ω画出及其频谱()()11000s a f x t x n =以样本秒采样得到。()() 11j x n X e ω画出及其频谱

axis([-10, 10, 0, 1]); subplot(212); plot(w/pi,abs(X)); title('x_a(t)频谱图'); xlabel('\omega/\pi');ylabel('X_a(e ^(j\omega))'); ind = find(X >=0.03*max(X))*0.01; eband = (max(ind) -min(ind)); fprintf('等效带宽为 %fKHZ\n',eband); 运行结果:

matlab作业1

实验任务 XXXXXX (1)阅读例子程序,观察输出波形,理解每条语句的含义。 (2)已知有限长序列x(n)=[7,6,5,4,3,2],求DFT和IDFT,要求:画出序列傅立叶变换对应的幅度谱和相位谱;画出原信号与傅立叶逆变换IDFT[X(k)]的图形进行比较。(3)已知周期序列的主值x(n)=[7,6,5,4,3,2],求x(n)周期重复次数为3次时的DFS和IDFS。要求:画出原信号序列的主值和周期序列的图形;画出离散傅立叶变换对应的幅度谱和相位谱。 (4)求x(n)=[7,6,5,4,3,2], 0=

数字信号处理上机实验答案(全)1

第十章 上机实验 数字信号处理是一门理论和实际密切结合的课程,为深入掌握课程内容,最好在学习理论的同时,做习题和上机实验。上机实验不仅可以帮助读者深入的理解和消化基本理论,而且能锻炼初学者的独立解决问题的能力。本章在第二版的基础上编写了六个实验,前五个实验属基础理论实验,第六个属应用综合实验。 实验一 系统响应及系统稳定性。 实验二 时域采样与频域采样。 实验三 用FFT 对信号作频谱分析。 实验四 IIR 数字滤波器设计及软件实现。 实验五 FIR 数字滤波器设计与软件实现 实验六 应用实验——数字信号处理在双音多频拨号系统中的应用 任课教师根据教学进度,安排学生上机进行实验。建议自学的读者在学习完第一章后作实验一;在学习完第三、四章后作实验二和实验三;实验四IIR 数字滤波器设计及软件实现在。学习完第六章进行;实验五在学习完第七章后进行。实验六综合实验在学习完第七章或者再后些进行;实验六为综合实验,在学习完本课程后再进行。 10.1 实验一: 系统响应及系统稳定性 1.实验目的 (1)掌握 求系统响应的方法。 (2)掌握时域离散系统的时域特性。 (3)分析、观察及检验系统的稳定性。 2.实验原理与方法 在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,本实验仅在时域求解。在计算机上适合用递推法求差分方程的解,最简单的方法是采用MA TLAB 语言的工具箱函数filter 函数。也可以用MATLAB 语言的工具箱函数conv 函数计算输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。 系统的时域特性指的是系统的线性时不变性质、因果性和稳定性。重点分析实验系统的稳定性,包括观察系统的暂态响应和稳定响应。 系统的稳定性是指对任意有界的输入信号,系统都能得到有界的系统响应。或者系统的单位脉冲响应满足绝对可和的条件。系统的稳定性由其差分方程的系数决定。 实际中检查系统是否稳定,不可能检查系统对所有有界的输入信号,输出是否都是有界输出,或者检查系统的单位脉冲响应满足绝对可和的条件。可行的方法是在系统的输入端加入单位阶跃序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的[19]。系统的稳态输出是指当∞→n 时,系统的输出。如果系统稳定,信号加入系统后,系统输出的开始一段称为暂态效应,随n 的加大,幅度趋于稳定,达到稳态输出。 注意在以下实验中均假设系统的初始状态为零。 3.实验内容及步骤 (1)编制程序,包括产生输入信号、单位脉冲响应序列的子程序,用filter 函数或conv 函数求解系统输出响应的主程序。程序中要有绘制信号波形的功能。 (2)给定一个低通滤波器的差分方程为

数字信号处理实验报告要求

数字信号处理实验课程设计 题目:数字滤波器的设计与实现 一、课程设计目的 (1) 掌握用脉冲响应不变法和双线性变换法设计无限脉冲响应数字滤波器(IIR DF )的原理和方法; (2) 掌握用窗函数法和频率采样设计有限脉冲响应数字滤波器(FIR DF )的原理和方法; (3) 学会根据信号的频谱确定滤波器指标参数; (4) 学会调用MATLAB 信号处理工具箱中的滤波器设计函数设计IIR DF 和FIR DF 。 二、课程设计原理 已知一个连续时间信号())π2cos()π2sin(21t f t f t x +=,Hz 1001=f ,Hz 3002=f ,x (t )为两个单频信号叠加后的混合信号,其时域波形和幅频特性图如图1所示。由图可知,混合信号时域混叠,无法在时域进行分离,但是频域是分离的,可以通过设计合适的IIR DF 和FIR DF 将两个单频信号分离,形成两个单一频率信号。 -2-1 1 2 t/s x (t )(a)混合信号时域波 形 050100150200250 30035040045050000.5 1 f/Hz 幅度(b)混合信号幅频特性 图1混合信号x (t )及其频谱图 三、课程设计内容 设计低通滤波器和高通滤波器将两个单频信号分离。滤波器的通带截止频率和阻带截止频率通过观察x (t )的幅频特性图自行确定,设采样频率为Hz 1000=s f ,要求滤波器的通带最大衰减和阻带最小衰减分别为dB 50,dB 1s p ==αα。调用MATLAB 中的滤波器设计函数编写

程序设计低通滤波器和高通滤波器(其中,低通滤波器用脉冲响应不变法和双线性变换法两种方法设计,高通滤波器用窗函数法和频率采样法两种方法设计),并绘制滤波器的幅频特性图、经滤波分离后的信号时域波形图和幅频特性图,观察分离效果。 四、课程设计报告要求 课程设计报告应包含以下几个方面的内容: 1.课程设计目的 2.课程设计要求 3.课程设计过程(包括设计步骤、完整的程序及仿真图) 4.结果分析 5.心得体会、问题或者建议 6.参考文献

数字信号处理实验报告(全)

实验一、离散时间系统及离散卷积 1、单位脉冲响应 源程序: function pr1() %定义函数pr1 a=[1,-1,0.9]; %定义差分方程y(n)-y(n-1)+0.9y(n-2)=x(n) b=1; x=impseq(0,-40,140); %调用impseq函数 n=-40:140; %定义n从-40 到140 h=filter(b,a,x); %调用函数给纵座标赋值 figure(1) %绘图figure 1 (冲激响应) stem(n,h); %在图中绘出冲激 title('冲激响应'); %定义标题为:'冲激响应' xlabel('n'); %绘图横座标为n ylabel('h(n)'); %绘图纵座标为h(n) figure(2) %绘图figure 2 [z,p,g]=tf2zp(b,a); %绘出零极点图 zplane(z,p) function [x,n]=impseq(n0,n1,n2)%声明impseq函数 n=[n1:n2]; x=[(n-n0)==0]; 结果: Figure 1: Figure 2:

2、离散系统的幅频、相频的分析 源程序: function pr2() b=[0.0181,0.0543,0.0543,0.0181]; a=[1.000,-1.76,1.1829,-0.2781]; m=0:length(b)-1; %m从0 到3 l=0:length(a)-1; %l从0 到3 K=5000; k=1:K; w=pi*k/K; %角频率w H=(b*exp(-j*m'*w))./(a*exp(-j*l'*w));%对系统函数的定义 magH=abs(H); %magH为幅度 angH=angle(H); %angH为相位 figure(1) subplot(2,1,1); %在同一窗口的上半部分绘图 plot(w/pi,magH); %绘制w(pi)-magH的图形 grid; axis([0,1,0,1]); %限制横纵座标从0到1 xlabel('w(pi)'); %x座标为 w(pi) ylabel('|H|'); %y座标为 angle(H) title('幅度,相位响应'); %图的标题为:'幅度,相位响应' subplot(2,1,2); %在同一窗口的下半部分绘图 plot(w/pi,angH); %绘制w(pi)-angH的图形 grid; %为座标添加名称

数字信号处理第二章上机题作业

数字信号处理作业实验题报告 第一章16.(1) 实验目的: 求解差分方程所描述的系统的单位脉冲响应和单位阶跃响应。 实验要求: 运用matlab求出y(n)=0.6y(n-1)-0.08y(n-2)+x(n)的单位脉冲响应和单位阶跃响应的示意图。 源程序: B1=1;A1=[1, -0.6, 0.08]; ys=2; %设差分方程 xn=[1, zeros(1, 20)]; %xn=单位脉冲序列,长度N=31 xi=filtic(B1, A1, ys); hn1=filter(B1, A1, xn, xi); %求系统输出信号hn1 n=0:length(hn1)-1; subplot(2, 1, 1);stem(n, hn1, '.') title('单位脉冲响应'); xlabel('n');ylabel('h(n)') xn=ones(1, 20); sn1=filter(B1, A1, xn, xi); %求系统输出信号sn1 n=0:length(sn1)-1; Subplot(2, 1, 2); stem(n, sn1, '.') title('单位阶跃响应'); xlabel('n'); ylabel('s(n)')

运行结果: 实验分析: 单位脉冲响应逐渐趋于0,阶跃响应保持不变,由此可见,是个稳定系统。

第二章31题 实验目的: 用matlab判断系统是否稳定。 实验要求: 用matlab画出系统的极,零点分布图,输入单位阶跃序列u(n)检查系统是否稳定。 源程序: A=[2, -2.98, 0.17, 2.3418, -1.5147]; B=[0, 0, 1, 5, -50]; subplot(2,1,1); zplane(B,A); %求H(z)的极点 p=roots(A); %求H(z)的模 pm=abs(p); if max(pm)<1 disp('系统因果稳定'), else,disp('系统因果不稳定'),end un=ones(1,800); sn=filter(B, A, un); n=0:length(sn)-1; subplot(2, 1, 2);plot(n, sn) xlabel('n');ylabel('s(n)')

数字信号处理实习报告

中国地质大学(武汉) 数字信号处理上机实习 学生姓名: 班级:071132 学号:2013100 指导老师:王晓莉

题目一 离散卷积计算 一、实验题目 设线性时不变(LTI )系统的冲激响应为h(n),输入序列为x(n) 1、h(n)=(0.8)n ,0≤n ≤4; x(n)=u(n)-u(n-4) 2、h(n)=(0.8)n u(n), x(n)=u(n)-u(n-4) 3、h(n)=(0.8)n u(n), x(n)=u(n) 求以上三种情况下系统的输出y(n),显示输入和输出波形。 二、实验目的 1.理解和掌握离散卷积计算; 2.学习如何用Mtalab 实现离散卷积计算。 三、算法设计 离散卷积定义为: ∑-∞ =-= n )()()(y k k n h k x n 1、n (0.8)=h(n),40≤≤n ,4)-u(n -u(n)=x(n), ∑∞ -∞ =-= *=m m n h m x n h n x n y )()()()()( (a) 当0

(b) 当30≤≤n 时,∑==n m n y 0 )((0.8)n ; (c) 当204≤≤n 时,∑ -== n 3)(n m n y (0.8)n ; (d) 当2321≤≤n 时,∑ -==20 3 )(n m n y (0.8)n ; (e) 当23>n 时,0)(=n y ; 3、)()8.0()(n u n h n =,)()(n u n x =,∑∞ -∞ =-= *=m m n h m x n h n x n y )()()()()( (a) 当0n 时,0)(=n y ; 四、程序分析 所用到的函数: (1)y=conv (x.,h ):卷积运算函数,计算)(*)()(n h n x n y =; (2)n1=0:4:n1取0~4; (3)subplot(m,n,p):subplot()函数是将多个图画到一个平面上的工具。其中,m 表示是图排成m 行,n 表示图排成n 列,也就是整个figure 中有n 个图是排成一行的,一共m 行,如果m=2就是表示2行图。p 表示图所在的位置,p=1表示从左到右从上到下的第一个位置。 (4)title(‘content ’):title()函数的功能是为当前坐标系添加标题“content ”。 五、程序设计 n=0:4; h=0.8.^n;

哈工大数字信号处理实验报告

实验一: 用FFT 作谱分析 实验目的: (1) 进一步加深DFT 算法原理和基本性质的理解(因为FFT 只是DFT 的一种快速算法, 所以FFT 的运算结果必然满足DFT 的基本性质)。 (2) 熟悉FFT 算法原理和FFT 子程序的应用。 (3) 学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT 。 实验原理: DFT 的运算量: 一次完整的DFT 运算总共需要2N 次复数乘法和(1)N N -复数加法运算,因而 直接计算DFT 时,乘法次数和加法次数都和2N 成正比,当N 很大时,运算量很客观的。例如,当N=8时,DFT 运算需64位复数乘法,当N=1024时,DFT 运算需1048576次复数乘法。而N 的取值可能会很大,因而寻找运算量的途径是很必要的。 FFT 算法原理: 大多数减少离散傅里叶变换运算次数的方法都是基于nk N W 的对称性和周期 性。 (1)对称性 ()*()k N n kn kn N N N W W W --==

(2)周期性 ()(mod`)()()kn N kn n N k n k N N N N N W W W W ++=== 由此可得 ()()/2 (/2)1 n N k N n k nk N N N N N k N k N N W W W W W W ---+?==?=-??=-? 这样: 1.利用第三个方程的这些特性,DFT 运算中有些项可以合并; 2.利用nk N W 的对称性和周期性,可以将长序列的DFT 分解为短序列的DFT 。 前面已经说过,DFT 的运算量是与2N 成正比的,所以N 越小对计算越有利, 因而小点数序列的DFT 比大点数序列的DFT 运算量要小。 快速傅里叶变换算法正是基于这样的基本思路而发展起来的,她的算法基本 上可分成两大类,即按时间抽取法和按频率抽取法。 我们最常用的是2M N =的情况,该情况下的变换成为基2快速傅里叶变换。 完成一次完整的FFT 计算总共需要 2log 2 N N 次复数乘法运算和2log N N 次复数加法运算。很明显,N 越大,FFT 的优点就越突出。 实验步骤 (1) 复习DFT 的定义、 性质和用DFT 作谱分析的有关内容。 (2) 复习FFT 算法原理与编程思想, 并对照DIT-FFT 运算流图和程序框图, 读懂本实验提供的FFT 子程序。 (3) 编制信号产生子程序, 产生以下典型信号供谱分析用:

数字信处理上机作业终审稿)

数字信处理上机作业文稿归稿存档编号:[KKUY-KKIO69-OTM243-OLUI129-G00I-FDQS58-

数字信号处理上机作业 学院:电子工程学院 班级:021215 组员:实验一:信号、系统及系统响应 1、实验目的 (1) 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解。 (2) 熟悉时域离散系统的时域特性。 (3) 利用卷积方法观察分析系统的时域特性。 (4) 掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。 2、实验原理与方法 (1) 时域采样。 (2) LTI系统的输入输出关系。 3、实验内容及步骤 (1) 认真复习采样理论、离散信号与系统、线性卷积、序列的傅里叶变换及性质等有关内容,阅读本实验原理与方法。 (2) 编制实验用主程序及相应子程序。 ①信号产生子程序,用于产生实验中要用到的下列信号序列: a. xa(t)=A*e^-at *sin(Ω0t)u(t) b. 单位脉冲序列:xb(n)=δ(n) c. 矩形序列: xc(n)=RN(n), N=10 ②系统单位脉冲响应序列产生子程序。本实验要用到两种FIR系统。

a. ha(n)=R10(n); b. hb(n)=δ(n)+2.5δ(n-1)+2.5δ(n-2)+δ(n-3) ③有限长序列线性卷积子程序 用于完成两个给定长度的序列的卷积。可以直接调用MATLAB语言中的卷积函数conv。conv用于两个有限长度序列的卷积,它假定两个序列都从n=0 开始。调用格式如下:y=conv (x, h) 4、实验结果分析 ①分析采样序列的特性。 a. 取采样频率fs=1 kHz,,即T=1 ms。 b. 改变采样频率,fs=300 Hz,观察|X(e^jω)|的变化,并做记录(打印曲线);进一步降低采样频率,fs=200 Hz,观察频谱混叠是否明显存在,说明原因,并记录(打印)这时的|X(e^jω)|曲线。 程序代码如下: close all;clear all;clc; A=50; a=50*sqrt(2)*pi; m=50*sqrt(2)*pi; fs1=1000; fs2=300; fs3=200; T1=1/fs1; T2=1/fs2; T3=1/fs3;

数字信号处理上机实验答案完整版

数字信号处理上机实验 答案 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

第十章上机实验 数字信号处理是一门理论和实际密切结合的课程,为深入掌握课程内容,最好在学习理论的同时,做习题和上机实验。上机实验不仅可以帮助读者深入的理解和消化基本理论,而且能锻炼初学者的独立解决问题的能力。本章在第二版的基础上编写了六个实验,前五个实验属基础理论实验,第六个属应用综合实验。 实验一系统响应及系统稳定性。 实验二时域采样与频域采样。 实验三用FFT对信号作频谱分析。 实验四 IIR数字滤波器设计及软件实现。 实验五 FIR数字滤波器设计与软件实现 实验六应用实验——数字信号处理在双音多频拨号系统中的应用 任课教师根据教学进度,安排学生上机进行实验。建议自学的读者在学习完第一章后作实验一;在学习完第三、四章后作实验二和实验三;实验四IIR数字滤波器设计及软件实现在。学习完第六章进行;实验五在学习完第七章后进行。实验六综合实验在学习完第七章或者再后些进行;实验六为综合实验,在学习完本课程后再进行。 functiontstem(xn,yn) %时域序列绘图函数 %xn:信号数据序列,yn:绘图信号的纵坐标名称(字符串) n=0:length(xn)-1; stem(n,xn,'.');boxon xlabel('n');ylabel(yn); axis([0,n(end),min(xn),*max(xn)]) 实验一: 系统响应及系统稳定性 1.实验目的 (1)掌握求系统响应的方法。 (2)掌握时域离散系统的时域特性。 (3)分析、观察及检验系统的稳定性。 2.实验原理与方法 在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,本实验仅在时域求解。在计算机上适合用递推法求差分方程的解,最简单的方法是采用MATLAB语言的工具箱函数filter函数。也可

相关主题
文本预览
相关文档 最新文档