重庆大学光电学院数字信号处理实验

合集下载

数字信号处理实验报告

数字信号处理实验报告

实验一 信号、系统及系统响应一、实验目的1、熟悉理想采样的性质,了解信号采样前后的频谱变化,加深对时域采样定理的理解。

2、熟悉离散信号和系统的时域特性。

3、熟悉线性卷积的计算编程方法:利用卷积的方法,观察、分析系统响应的时域特性。

4、掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对离散信号、系统及其系统响应进行频域分析。

二、 实验原理1.理想采样序列:对信号x a (t)=A e −αt sin(Ω0t )u(t)进行理想采样,可以得到一个理想的采样信号序列x a (t)=A e −αt sin(Ω0nT ),0≤n ≤50,其中A 为幅度因子,α是衰减因子,Ω0是频率,T 是采样周期。

2.对一个连续时间信号x a (t)进行理想采样可以表示为该信号与一个周期冲激脉冲的乘积,即x ̂a (t)= x a (t)M(t),其中x ̂a (t)是连续信号x a (t)的理想采样;M(t)是周期冲激M(t)=∑δ+∞−∞(t-nT)=1T ∑e jm Ωs t +∞−∞,其中T 为采样周期,Ωs =2π/T 是采样角频率。

信号理想采样的傅里叶变换为X ̂a (j Ω)=1T ∑X a +∞−∞[j(Ω−k Ωs )],由此式可知:信号理想采样后的频谱是原信号频谱的周期延拓,其延拓周期为Ωs =2π/T 。

根据时域采样定理,如果原信号是带限信号,且采样频率高于原信号最高频率分量的2倍,则采样以后不会发生频率混叠现象。

三、简明步骤产生理想采样信号序列x a (n),使A=444.128,α=50√2π,Ω0=50√2π。

(1) 首先选用采样频率为1000HZ ,T=1/1000,观察所得理想采样信号的幅频特性,在折叠频率以内和给定的理想幅频特性无明显差异,并做记录;(2) 改变采样频率为300HZ ,T=1/300,观察所得到的频谱特性曲线的变化,并做记录;(3) 进一步减小采样频率为200HZ ,T=1/200,观察频谱混淆现象是否明显存在,说明原因,并记录这时候的幅频特性曲线。

数字信号处理实验

数字信号处理实验

数字信号处理实验实验一信号、系统及系统响应1、实验目的认真复习采样理论、离散信号与系统、线性卷积、序列的z 变换及性质等有关内容;掌握离散时间序列的产生与基本运算,理解离散时间系统的时域特性与差分方程的求解方法,掌握离散信号的绘图方法;熟悉序列的z 变换及性质,理解理想采样前后信号频谱的变化。

2、实验内容a. 产生长度为500 的在[0,1]之间均匀分布的随机序列,产生长度为500 的均值为0 单位方差的高斯分布序列。

b. 线性时不变系统单位脉冲响应为h(n)=(0.9)nu(n),当系统输入为x(n)=R10(n)时,求系统的零状态响应,并绘制波形图。

c. 描述系统的差分方程为:y(n)-y(n-1)+0.9y(n-2)=x(n),其中x(n)为激励,y(n)为响应。

计算并绘制n=20,30,40,50,60,70,80,90,100 时的系统单位脉冲响应h(n);计算并绘制n=20,30,40,50,60,70,80,90,100 时的系统单位阶跃响应s(n);由h(n)表征的这个系统是稳定系统吗?d. 序列x(n)=(0.8)nu(n),求DTFT[x(n)],并画出它幅度、相位,实部、虚部的波形图。

观察它是否具有周期性?e. 线性时不变系统的差分方程为y(n)=0.7y(n-1)+x(n),求系统的频率响应H(ejω),如果系统输入为x(n)=cos(0.05πn)u(n),求系统的稳态响应并绘图。

f. 设连续时间信号x(t)=e-1000|t|,计算并绘制它的傅立叶变换;如果用采样频率为每秒5000 样本对x(t)进行采样得到x1(n),计算并绘制X1(ejω),用x1(n)重建连续信号x(t),并对结果进行讨论;如果用采样频率为每秒1000 样本对x(t)进行采样得到x2(n),计算并绘制X2(ejω),用x2(n)重建连续信号x(t),并对结果进行讨论。

加深对采样定理的理解。

g. 设X1(z)=z+2+3z-1,X2(z)=2z2+4z+3+5z-1,用卷积方法计算X1(z)X2(z)。

重庆大学数字信号处理大作业报告

重庆大学数字信号处理大作业报告

数字信号处理课外实验设计——音频采样和频谱混叠课程名称:数字信号处理院系:通信工程学院专业:通信01班年级: 2013级*名:***学号: ********指导教师:**实验时间: 2015.11.26重庆大学一、实验目的:1、熟悉MATLAB语言的基本用法;2、掌握MATLAB语言中音频数据与信息的读取与播放方法;3、掌握在MATLAB中设计滤波器的方法;4、掌握MATLAB语言中信号频谱的绘制方法。

5、对采样定理进行初步验证,体会频谱混叠现象,并大致确定音频信号的最低采样频率。

二、实验原理:现实当中遇到的绝大多数信号都是连续的,即所谓的连续信号。

如语音、图像、温度压力电流等都是模拟信号。

要利用数字信号处理技术实现对这些信号的处理,需要借助对这些信号的处理,需要借助A/D转换,先将模拟信号转变为数字信号后才能利用数字技术对其进行加工处理。

因此,采样是从连续到离散的桥梁。

如果选择的采样频率太低,及fs<2fm的采样频率太低,或者说是信号的最高频率fm 超过fs/2,则采样后的频谱按照采样率周期延拓时,各周期延拓分量产生频谱的交叠,这种现象叫频谱混叠。

三、实验内容:本实验通过MATLAB软件,完成以下四项任务1、用fs=44100HZ采集一段音乐。

2、改变采样频率,用fs=5512HZ采集一段音乐,体会混叠现象。

3、录制一段自己的声音,试验当fs=?时,发生混叠。

4、(选作)在噪声环境中录制一段自己的声音,试采用一种方法将噪声尽可能地消除。

四、实验步骤:仿真程序DSP_homework1.m:clc;clear;close all;%% 44100Hz和5512Hz采集音频文件[FileName,PathName] = uigetfile('*.wav','选择待处理音频文件');%获取处理音频文件位置path1=fullfile(PathName,FileName);[x,Fs1]=audioread(path1);%默认采样频率Fs为44100Hzx1=x(:,1);%1声道数据x2=x(:,2);%2声道数据%y1=x1(1:800000);%y1=x1(1:8:end);Fs2=5512;y1=resample(x1,5512,44100); %信号降采样处理,采样从44100Hz降到5512Hzy2=resample(x2,5512,44100);y=[y1 y2];t1=0:1/Fs1:(length(x1)-1)/Fs1;%取时域横轴tt2=0:1/Fs2:(length(y1)-1)/Fs2;N =5096; %fft点数,以频谱分辨率为10Hz,信号最高频率40kHz求出记录最小点数f=10^3;%取频率轴单位为KHzX1=fft(x1,N);X1=10*log(abs(fftshift(X1)));%用对数表示44100Hz音频信号的频谱Y1=fft(y1,N);Y1=10*log(abs(fftshift(Y1)));%用对数表示5512Hz音频信号的频谱PathName1=uigetdir(strcat(matlabroot,'\work' ),'加噪后音频文件另存为');FileName1='music_5512.wav'path2=fullfile(PathName1,FileName1);audiowrite(path2,y,Fs2);%生成5512Hz采样的wav格式音频文件,试听音乐效果%% 绘图figure(1);%44100Hz采集音频信号时域图、频谱图subplot(2,1,1);plot(t1,x1,'r');axis([0 95 -1 1]);%设置坐标轴范围set(gca,'XTick',0:5:95),grid on;%设置x坐标轴刻度,绘制方格线set(gca,'YTick',-0.8:0.2:0.8),grid on;%设置y坐标轴刻度,绘制方格线title('44100Hz采样音乐信号波形');xlabel('时间轴,单位s');subplot(2,1,2);plot((-N/2+1:N/2)*Fs1/N/f,X1,'b');axis([-25 25 -70 50]);set(gca,'XTick',-25:5:25),grid on;set(gca,'YTick',-70:20:50),grid on;title('44100Hz采样音乐信号频谱图');xlabel('频率轴,单位kHz');ylabel('单位:dB');figure(2)%5512Hz采集音频信号时域图、频谱图subplot(2,1,1);plot(t2,y1,'r');axis([0 95 -1 1]);%设置坐标轴范围set(gca,'XTick',0:5:95),grid on;%设置x坐标轴刻度,绘制方格线set(gca,'YTick',-0.8:0.2:0.8),grid on;%设置y坐标轴刻度,绘制方格线title('5512Hz采样音乐信号波形');xlabel('时间轴,单位s');subplot(2,1,2);plot((-N/2+1:N/2)*Fs2/N/f,Y1,'b');axis([-3 3 -70 50]);set(gca,'XTick',-3:1:3),grid on;set(gca,'YTick',-70:20:50),grid on;title('5512Hz采样音乐信号频谱图');xlabel('频率轴,单位kHz');ylabel('单位:dB');仿真程序DSP_homework2.m:clc;clear;close all;%% 录音测试多少采样频率时发生混叠Fs1=2205;%录音采样频率nBits=16;%音频位数nChannels=1;%声道数recording_time=1.5;%录音时间长度recObj = audiorecorder(Fs1,nBits,nChannels)disp('Start speaking.')recordblocking(recObj, recording_time);disp('End of Recording.');play(recObj);% 回放录音数据myRecording = getaudiodata(recObj);% 获取录音数据t1=0:1/Fs1:(length(myRecording)-1)/Fs1;%取时域横轴tN1=5096; %fft点数f=10^3;%取频率轴单位为KHzfft_myRecording=fft(myRecording,N1);fft_myRecording=20*log(abs(fftshift(fft_myRecording)));PathName1=uigetdir(strcat(matlabroot,'\work' ),'录音音频文件另存为'); FileName1='record_2205.wav'path=fullfile(PathName1,FileName1);audiowrite(path,myRecording,Fs1);%生成原始信号叠加噪声后的wav格式音频文件,试听叠加噪声效果%% 绘制录音数据波形figure(1)subplot(211)plot(t1,myRecording,'r');axis([0 1.5 -1 1]);%设置坐标轴范围set(gca,'XTick',0:0.1:1.5),grid on;%设置x坐标轴刻度,绘制方格线set(gca,'YTick',-0.8:0.2:0.8),grid on;%设置y坐标轴刻度,绘制方格线title('2205Hz录制人声信号波形');xlabel('时间轴,单位s');subplot(212)plot((-N1/2+1:N1/2)*Fs1/N1/f,fft_myRecording,'b');axis([-1.5 1.5 -120 80]);set(gca,'XTick',-1.5:0.5:1.5),grid on;set(gca,'YTick',-120:20:80),grid on;title('2202Hz录制人声信号频谱图');xlabel('频率轴,单位kHz');ylabel('单位:dB');仿真程序DSP_homework3.m:clc;clear;close all;%% 录入噪音[FileName,PathName] = uigetfile('*.wav','选择待处理录音文件');%获取处理音频文件位置path=fullfile(PathName,FileName);[audio,Fs]=audioread(path);%默认采样频率Fs为44100Hzt=0:1/Fs:(length(audio)-1)/Fs;%取时域横轴tN =5096; %fft点数f=10^3;%取频率轴单位为KHzfft_audio=fft(audio,N);fft_audio=20*log(abs(fftshift(fft_audio)));%% 绘制噪音数据波形figure(1)subplot(211)plot(t,audio,'r');axis([0 2 -1.1 1.1]);%设置坐标轴范围set(gca,'XTick',0:0.2:2),grid on;%设置x坐标轴刻度,绘制方格线set(gca,'YTick',-1.1:0.2:1.1),grid on;%设置y坐标轴刻度,绘制方格线title('噪声背景下声音信号波形');xlabel('时间轴,单位s');subplot(212)plot((-N/2+1:N/2)*Fs/N/f,fft_audio,'b');axis([-25 25 -220 -60]);set(gca,'XTick',-25:5:25),grid on;set(gca,'YTick',-220:20:-60),grid on;title('噪声背景下声音信号频谱图');xlabel('频率轴,单位kHz');ylabel('单位:dB');%% 进行加噪处理Ym=max(max(max(audio)),max(abs(min(audio))));%找出极值audio=audio/Ym;%% 设计低通滤波器wn=0.1;%滤波器归一化截止频率为0.15n=513;%滤波器阶数为512w=hamming(n)hh=fir1(n-1,wn,'low',w);figure(2);freqz(hh);%绘制滤波器的频率响应图%% 对加噪音频信号进行滤波处理filter_audio=filter(hh,1,audio);%使含有噪声的信号通过一个已设计的低通滤波器hhPathName2=uigetdir(strcat(matlabroot,'\work' ),'去噪后音频文件另存为'); FileName2='record_recover.wav'path2=fullfile(PathName2,FileName2);audiowrite(path2,filter_audio,Fs);%生成原始信号叠加噪声后又经滤波后的wav格式音频文件,试听滤波后效果fft_filter_audio=fft(filter_audio,N);fft_filter_audio=20*log(abs(fftshift(fft_filter_audio)));%用对数表示噪声信号的频谱%%figure(3)subplot(211)plot(t,filter_audio,'r');axis([0 2 -1.1 1.1]);%设置坐标轴范围set(gca,'XTick',0:0.2:2),grid on;%设置x坐标轴刻度,绘制方格线set(gca,'YTick',-1.1:0.2:1.1),grid on;%设置y坐标轴刻度,绘制方格线title('滤噪后声音信号波形');xlabel('时间轴,单位s');subplot(212)plot((-N/2+1:N/2)*Fs/N/f,fft_filter_audio,'b');axis([-5 5 -220 -60]);set(gca,'XTick',-5:1:5),grid on;set(gca,'YTick',-220:20:-60),grid on;title('滤噪后声音信号频谱图');xlabel('频率轴,单位kHz');ylabel('单位:dB');五、结果与分析:1.实验结果:Figure 1Figure2Figure3Figure4 Figure5Figure6 Figure7高斯白噪声背景下Figure8Figure9Figure10背景噪声下Figure11Figure12 Figure132.实验分析声音信号的采集与分析处理在工程应用中是经常需要解决的题,如何实时采集声音信号并对其分析处理,找出声音信号的特征在科学研究中是一项非常有意义的工作。

数字信号处理实验报告_五个实验

数字信号处理实验报告_五个实验

实验一 信号、系统及系统响应一、 实验目的1、熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解;2、熟悉时域离散系统的时域特性;3、利用卷积方法观察分析系统的时域特性;4、掌握序列傅立叶变换的计算机实现方法,利用序列的傅立叶变换对连续信号、离散信号及系统响应进行频域分析。

二、 实验原理及方法采样是连续信号数字处理的第一个关键环节。

对采样过程的研究不仅可以了解采样前后信号时域和频域特性发生变化以及信号信息不丢失的条件,而且可以加深对傅立叶变换、Z 变换和序列傅立叶变换之间关系式的理解。

对一个连续信号)(t x a 进行理想采样的过程可用下式表示:)()()(^t p t t xx aa=其中)(^t x a 为)(t x a 的理想采样,p(t)为周期脉冲,即∑∞-∞=-=m nT t t p )()(δ)(^t x a的傅立叶变换为)]([1)(^s m a m j X T j a XΩ-Ω=Ω∑∞-∞=上式表明^)(Ωj Xa为)(Ωj Xa的周期延拓。

其延拓周期为采样角频率(T /2π=Ω)。

只有满足采样定理时,才不会发生频率混叠失真。

在实验时可以用序列的傅立叶变换来计算^)(Ωj X a 。

公式如下:Tw jw ae X j X Ω==Ω|)()(^离散信号和系统在时域均可用序列来表示。

为了在实验中观察分析各种序列的频域特性,通常对)(jw e X 在[0,2π]上进行M 点采样来观察分析。

对长度为N 的有限长序列x(n),有:n jw N n jw k ke m x eX--=∑=)()(1其中,k Mk πω2=,k=0,1,……M-1 时域离散线性非移变系统的输入/输出关系为 ∑∞-∞=-==m m n h m x n h n x n y )()()(*)()(上述卷积运算也可在频域实现)()()(ωωωj j j e H e X eY =三、 实验程序s=yesinput(Please Select The Step Of Experiment:\n 一.(1时域采样序列分析 s=str2num(s); close all;Xb=impseq(0,0,1); Ha=stepseq(1,1,10);Hb=impseq(0,0,3)+2.5*impseq(1,0,3)+2.2*impseq(2,0,3)+impseq(3,0,3); i=0;while(s);%时域采样序列分析 if(s==1) l=1; k=0;while(1)if(k==0)A=yesinput('please input the Amplitude:\n',...444.128,[100,1000]); a=yesinput('please input the Attenuation Coefficient:\n',...222.144,[100,600]); w=yesinput('please input the Angle Frequence(rad/s):\n',...222.144,[100,600]); end k=k+1;fs=yesinput('please input the sample frequence:\n',...1000,[100,1200]); Xa=FF(A,a,w,fs); i=i+1;string+['fs=',num2str(fs)]; figure(i)DFT(Xa,50,string); 1=yesinput 1=str2num(1); end%系统和响应分析else if(s==2)kk=str2num(kk);while(kk)if(kk==1)m=conv(Xb,Hb);N=5;i=i+1;figure(i)string=('hb(n)');Hs=DFT(Hb,4,string);i=i+1;figure(i)string('xb(n)');DFT(Xb,2,string);string=('y(n)=xb(n)*hb(n)');else if (kk==2)m=conv(Ha,Ha);N=19;string=('y(n)=ha(n)*(ha(n)');else if (kk==3)Xc=stepseq(1,1,5);m=conv(Xc,Ha);N=14;string=('y(n)=xc(n)*ha(n)');endendendi=i+1;figure(i)DFT(m,N,string);kk=yesinputkk=str2num(kk);end卷积定理的验证else if(s==3)A=1;a=0.5;w=2,0734;fs=1;Xal=FF(A,a,w,fs);i=i+1;figure(i)string=('The xal(n)(A=1,a=0.4,T=1)'); [Xa,w]DFT(Xal,50,string);i=i+1;figure(i)string =('hb(n)');Hs=DFT(Hb,4,string);Ys=Xs.*Hs;y=conv(Xal,Hb);N=53;i=i+1;figure(i)string=('y(n)=xa(n)*hb(n)');[yy,w]=DFT(y,N,string);i=i+1;figure(i)subplot(2,2,1)plot(w/pi,abs(yy));axis([-2 2 0 2]);xlabel('w/pi');ylabel('|Ys(jw)|');title(FT[x(n)*h(n)]');subplot(2,2,3)plot(w/pi,abs(Ys));axis([-2 2 0 2]);xlabel('w/pi');ylabel('|Ys(jw)|');title('FT[xs(n)].FT[h(n)]');endendend子函数:离散傅立叶变换及X(n),FT[x(n)]的绘图函数function[c,l]=DFT(x,N,str)n=0:N-1;k=-200:200;w=(pi/100)*k;l=w;c=x*Xc=stepseq(1,1,5);子函数:产生信号function c=FF(A,a,w,fs)n=o:50-1;c=A*exp((-a)*n/fs).*sin(w*n/fs).*stepseq(0,0,49); 子函数:产生脉冲信号function [x,n]=impseq(n0,n1,n2)n=[n1:n2];x=[(n-n0)==0];子函数:产生矩形框信号function [x,n]=stepseq(n0,n1,n2) n=[n1:n2];x=[(n-n0>=0)];四、 实验内容及步骤1、认真复习采样理论,离散信号与系统,线性卷积,序列的傅立叶变换及性质等有关内容,阅读本实验原理与方法。

重庆大学信号与系统实验(附标准答案)

重庆大学信号与系统实验(附标准答案)
即这时正弦序列为周期序列,并且N=2π/ω就是最小周期。
2.当2π/ω为有理数时,则有2π/ω=N/M,这里N和M均为正整数,令N=2πM/ω,则
sinω(n+N)= sinω(n+ M2π/ω)= sin(ωn+ 2πM)= sinωn。
即这时正弦序列也是周期序列,且序列的最小周期为N=2πM/ω。
平移:将函数 沿横坐标平移 就得到函数
相乘:将 与 相乘,得到 。两波形重叠部分相乘有值,不重叠部分乘积为零
积分: 曲线下的面积即为 时刻的卷积。
2.2离散信号卷积和
输入为 ,输出为 的离散时间线性时不变系统的作用是用卷积求和来描述的:
信号 是系统对于单位冲激输入的响应。其计算步骤为:
横坐标 换成
翻转:将函数 以纵坐标为轴翻转,得到其对称函数
问题1:详细说明正弦离散时间信号的周期性与信号频率的关系,为什么?
答:根据周期序列的定义来讨论正弦离散时间信号的周期性,根据其周期性来找出其与信号频率
的关系。即找到一个正整数N使得恒等式sin(ωn)=sinω(n+N)成立。
分为几种情况讨论:
1.当2π/ω为整数时,令N=2π/ω,则
sinω(n+N)= sinω(n+2π/ω)= sin(ωn+2π)= sinωn。
12电科02班
姓名
艾渝
成绩
课程
名称
信号与系统(双语)
实验项目
名称
信号的时域表示、变换、采样及系统的时域特性
指导教师
文静
教师评语
()深入理解了实验原理,完成了实验步骤,实验过程原始记录翔实、清晰、准确,实验结果正确,分析透彻,很好地达到了实验目的。

重邮课程实验报告

重邮课程实验报告

一、实验名称数字信号处理实验二、实验目的1. 理解数字信号处理的基本概念和原理。

2. 掌握数字滤波器的设计方法及其应用。

3. 熟悉数字信号处理软件的使用,提高实验技能。

三、实验原理数字信号处理(Digital Signal Processing,DSP)是研究数字信号的产生、处理、分析和应用的科学。

本实验主要涉及以下几个方面:1. 数字滤波器的基本概念:数字滤波器是一种对数字信号进行频率选择的装置,可以用于信号的滤波、增强、抑制等。

2. 滤波器的设计方法:主要包括有限脉冲响应(FIR)滤波器和无限脉冲响应(IIR)滤波器的设计方法。

3. 数字信号处理软件的使用:利用MATLAB等软件进行数字信号处理实验,提高实验效率。

四、实验器材1. 实验计算机2. MATLAB软件3. 实验指导书五、实验步骤1. 实验一:FIR滤波器设计(1)打开MATLAB软件,创建一个新的脚本文件。

(2)根据实验指导书的要求,输入FIR滤波器的参数,如滤波器的阶数、截止频率等。

(3)运行脚本文件,观察滤波器的频率响应曲线。

(4)根据实验结果,分析滤波器的性能。

2. 实验二:IIR滤波器设计(1)打开MATLAB软件,创建一个新的脚本文件。

(2)根据实验指导书的要求,输入IIR滤波器的参数,如滤波器的阶数、截止频率等。

(3)运行脚本文件,观察滤波器的频率响应曲线。

(4)根据实验结果,分析滤波器的性能。

3. 实验三:数字信号处理软件的使用(1)打开MATLAB软件,创建一个新的脚本文件。

(2)根据实验指导书的要求,输入信号处理的参数,如采样频率、滤波器类型等。

(3)运行脚本文件,观察信号处理的结果。

(4)根据实验结果,分析数字信号处理软件的应用。

六、实验结果与分析1. 实验一:FIR滤波器设计实验结果表明,所设计的FIR滤波器具有较好的频率选择性,滤波效果符合预期。

2. 实验二:IIR滤波器设计实验结果表明,所设计的IIR滤波器具有较好的频率选择性,滤波效果符合预期。

实验一 数字信号处理 实验报告

实验一 数字信号处理 实验报告

1.已知系统的差分方程如下式:y1(n)=0.9y1(n-1)+x(n)程序编写如下:(1)输入信号x(n)=R10 (n),初始条件y1(-1)=1,试用递推法求解输出y1(n);a=0.9; ys=1; %设差分方程系数a=0.9,初始状态: y(-1)=1xn=ones(1,10); %矩型序列R10(n)=u(n)-u(n-10),定义其宽度为0~9n=1:35; %设差分方程系数a=0.9,初始状态: y(-1)=1xn=sign(sign(10-n)+1);B=1;A=[1,-a]; %差分方程系数xi=filtic(B,A,ys); %由初始条件计算等效初始条件输入序列xiyn=filter(B,A,xn,xi); %调用filter解差分方程,求系统输出y(n)n=0:length(yn)-1;subplot(2,1,1);stem(n,yn,'linewidth',2); axis([-5,15,0,8]); grid ontitle('图(a) y1(n)=0.9y1(n-1)+x(n) 初始条件y1(-1)=1 ');xlabel('n');ylabel('y(n)')(2) 输入信号x(n)=R10 (n),初始条件y1(-1)=0,试用递推法求解输出y1(n)。

a=0.9; ys=0; %设差分方程系数a=0.9,初始状态: y(-1)=1xn=ones(1,10); %矩型序列R10(n)=u(n)-u(n-10)B=1;A=[1,-a]; %差分方程系数xi=filtic(B,A,ys); %由初始条件计算等效初始条件输入序列xiyn=filter(B,A,xn,xi); %调用filter解差分方程,求系统输出y(n)n=0:length(yn)-1;subplot(2,1,2);stem(n,yn, 'linewidth',2); axis([-5,15,0,8]); grid ontitle('图(b) y1(n)=0.9y1(n-1)+x(n) 初始条件y1(-1)=0 ');xlabel('n');ylabel('y(n)') 图形输出如下:-505101502468图(a) y1(n)=0.9y1(n-1)+x(n) 初始条件y1(-1)=1ny (n )-55101502468图(b) y1(n)=0.9y1(n-1)+x(n) 初始条件y1(-1)=0ny (n )2. 已知系统差分方程为: y 1(n )=0.9y 1(n -1)+x (n ) 用递推法求解系统的单位脉冲响应h (n ),要求写出h (n )的封闭公式,并打印h (n )~n 曲线。

重庆大学通信学院数字信号处理实验第四次实验报告

重庆大学通信学院数字信号处理实验第四次实验报告

0.511.522.5100150200250300Normalized Frequency (⨯π rad/sample)P h a s e (d e g r e e s )0.51 1.522.5-30-20-10010Normalized Frequency (⨯π rad/sample)M a g n i t u d e (d B )0.51 1.522.5-100-50050100Normalized Frequency (⨯π rad/sample)P h a s e (d e g r e e s )0.51 1.522.5-80-60-40-200Normalized Frequency (⨯π rad/sample)M a g n i t u d e (d B )0.51 1.522.5-1000-500500Normalized Frequency (⨯π rad/sample)P h a s e (d e g r e e s)0.51 1.522.5-30-20-10010Normalized Frequency (⨯π rad/sample)M a g n i t u d e (d B )图1 第一题的频率响应 图2 第二题的频率响应图3 第三题的频率响应图4 第四题的频率响应第五题:零、极点分布图-1-0.500.51-1-0.8-0.6-0.4-0.200.20.40.60.814Real PartI m a g i n a r y P a r t结果单位抽样响应:y =1.0000 0.2000 -0.4000 -0.2000 1.0000 0 012345678910-0.4-0.20.20.40.60.81单位抽样响应用filter 函数: b=[1 0.2 -0.4 -0.2 1];a=1; %注意此处分母的表示 x=zeros(1,10);x(1)=1;%单位抽样脉冲 y=filter(b,a,x) stem(y);title('单位抽样响应')用impz 函数:b=[1 0.2 -0.4 -0.2 1]; a=1;y=impz(b,a);单位阶跃响应:-11234567891000.20.40.60.811.21.41.6单位阶跃响应y =1.0000 1.2000 0.8000 0.6000 1.6000 1.6000 1.6000 1.6000 1.6000 1.6000程序:b=[1 0.2 -0.4 -0.2 1]; a=1;x=ones(1,20);x(1)=1;%单位阶跃信号 y=filter(b,a,x)第六题:零、极点分布图-1-0.50.511.5-1-0.8-0.6-0.4-0.200.20.40.60.81Real PartI m a g i n a r y P a r tB=[0.3 -0.5 0];A=[1 -0.7 0.8];zplane(B,A) %零、极点分布图-101-1-0.500.51Real PartI m a g i n a r y P a r t系统函数极零点分布图-1-0.500.51-1-0.500.51Real PartI m a g i n a r y P a r t最小相移网络零点分布图-11-1-0.500.51Real PartI m a g i n a r y P a r t全通网络零点分布图-11-1-0.500.51Real PartI m a g i n a r y P a r t修正网络零点分布图B=[0.3 -0.5]; A=[1 -0.7 0.8]; subplot(2,2,1);zplane(B,A)title('系统函数极零点分布图') %最小相移网络: B=[1 -0.6];A=[1 -0.7 0.8]; subplot(2,2,2) zplane(B,A);title('最小相移网络零点分布图') %全通网络: B=[-0.6 1];A=[1 -0.6]; subplot(2,2,3); zplane(B,A);title('全通网络零点分布图') %修正网络: B=[-0.6 1]; A=[1 -0.7 0.8]; subplot(2,2,4); zplane(B,A);title('修正网络零点分布图')对比区别:0500100015002000123系统函数极频率响应0500100015002000-4-2024系统函数极频率相位响应500100015002000246修正网络频率响应0500100015002000-4-224修正网络频率相位响应B=[0.3 -0.5]; A=[1 -0.7 0.8]; w=0:0.01:6*pi; h=freqz(B,A,w) subplot(2,2,1); plot(abs(h));title('系统函数极频率响应') subplot(2,2,2); plot(angle(h));title('系统函数极频率相位响应')B=[-0.6 1]; A=[1 -0.7 0.8]; w=0:0.01:6*pi;[h,w]=freqz(B,A,w) subplot(2,2,3); plot(abs(h));title('修正网络频率响应') subplot(2,2,4); plot(angle(h));title('修正网络频率相位响应')第七题:说明grpdelay 的使用方法,计算1和5中的群延时0.51 1.522.53012345678910Normalized Frequency (⨯π rad/sample)G r o u p d e l a y (s a m p l e s )b=[0.2 0 -0.3]; a=[1 -0.4 0.8]; w=0:0.01:3*pi; grpdelay(b,a,w);第五题的群延时00.51 1.522.53-15-10-55101520Normalized Frequency (⨯π rad/sample)G r o u p d e l a y (s a m p l e s )b=[1 0.2 -0.4 -0.2 1]; a=[1];w=0:0.01:3*pi; grpdelay(b,a,w);群延时函数的使用方法: help grpdelayGRPDELAY Group delay of a digital filter.[Gd,W] = GRPDELAY(B,A,N) returns length N vectors Gd and W containing the group delay and the frequencies (in radians) at which it is evaluated. Group delay is -d{angle(w)}/dw. The frequencyresponse is evaluated at N points equally spaced around the upper half of the unit circle. For an FIR filter where N is a power of two, the computation is done faster using FFTs. If you don't specify N, it defaults to 512.GRPDELAY(B,A,N,'whole') uses N points around the whole unit circle.[Gd,F] = GRPDELAY(B,A,N,Fs) and [Gd,F] = GRPDELAY(B,A,N,'whole',Fs) given sampling frequency Fs in Hz return a vector F in Hz.Gd = GRPDELAY(B,A,W) and Gd = GRPDELAY(B,A,F,Fs) return the group delay evaluated at the points in W (in radians/sample) or F (in Hz).GRPDELAY(B,A,...) with no output arguments plots the group delay in the current figure window.提高1:级联后的频率响应0.51 1.522.5-800-600-400-200Normalized Frequency (⨯π rad/sample)P h a s e (d e g r e e s )0.51 1.522.5-200-150-100-500X: 0.2992Y: -2.991Normalized Frequency (⨯π rad/sample)M a g n i t u d e (d B )b=0.175*[1 3 3 1]; a=[1];w=0:0.01:3*pi;freqz(b,a,w);最高的点x=0, y=0X=0.2992,y=-2.991Y*pi=0.9400计算的wc= 2*acos(2^(-1/6))=0.9430。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1)用matlab编程产生并画出信号x1(n)、x2(n)、x3(n)、x4(n)、x5(n)。
(2)用matlab编制FFT函数对上述信号进行频谱分析,并画出上述信号谱图。
六、实验结果分析
1.说明FFT长度N改变对频谱的影响
答:FFT随长度N增加,主瓣宽度减小,分辨率提高,主峰位置也较准确
2.简要回答以下问题:
离散时间信号可以是由模拟信号通过采样得到,例如对模拟信号xa(t)进行等间隔采样,采样间隔为T,得到一个有序的数字序列{xa(nT)}就是离散时间信号,简称序列。
2.常用序列
单位脉冲序列(单位抽样)、单位阶跃序列、矩形序列、实指数序列、复指数序列、正弦型序列等。
3.序列的基本运算
3.1序列的加法:z(n)=x (n)+y(n)
加法用于序列的合成。它把两个序列中位置序号相同的样本相加,形成新的样本序列。
3.2序列的乘法:z(n)=x(n)×y(n)
序列的乘法是一种非线性运算,它用于信号的调制。它把两个序列中位置序号相同的样本相乘,形成新的样本序列。
4.序列的卷积
上式的运算关系称为卷积运算,式中代表两个序列卷积运算。两个序列的卷积是一个序列与另一个序列反褶后逐次移位乘积之和,故称为离散卷积,也称两序列的线性卷积。
四、使用仪器、器材
计算机,MATLAB软件
五、实验过程原始记录(实验源程序、图标、计算等)
1、用matlab编制信号产生子程序,产生以下典型信号序列。
2、利用MATLAB编程完成序列(5)和(6)的移位、反转、加法、乘法等运算,并绘制运算后序列的波形。
3、利用MATLAB编制一个计算两个序列线性卷积的通用程序,计算上述两序列,并绘制卷积后序列的波形。
3、利用MATLAB编制一个计算两个序列线性卷积的通用程序,计算上述两序列,并绘制卷积后序列的波形。
三、实验原理
1.序列的基本概念
离散时间信号在数学上可用时间序列{x(n)}来表示,其中x(n)代表序列的第n个数字,n代表时间的序列。注意:x(n)只在n为整数时才有意义, n不是整数时无定义,但不能认为是0。
plot(x,y);
title('锯齿波')
2、实验中所产生的正弦序列的频率是多少?是否是周期序列?
答:实验中正弦序列的频率是10HZ,是周期序列。
实验题目
用FFT进行谱分析
实验时间
2017年11月21日
实验地点
主教1计性√综合性
教师评语:
□出勤率好□原理正确□方案合理
(2)
答:由于FFT算法对序列长度的要求是 N=2^M,M为正整数。所以,当周期信号序列一个周期的长度满足 N=2^M(M为正整数)的条件时,FFT可以用来分析周期信号的频谱。不是真实的频谱。因为序列的周期N=10不是 2 的整数次幂,所以不是真实的。
□实验结果正确□回答问题正确□报告规范
一、实验目的
(1)进一步加深DFT算法原理和基本性质的理解(因为FFT只是DFT的一种快速算法,所以FFT的运算结果必然满足DFT的基本性质)。熟悉FFT程序结构及编程方法。
(2)熟悉应用FFT对确定信号进行谱分析方法,熟悉FFT算法原理和FFT子程序的应用。
(3)学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应有FFT。
3.掌握序列的相加、相乘、移位、反转等基本运算及计算机实现与作用。
4.掌握线性卷积软件实现的方法。
5.掌握计算机的使用方法和常用系统软件及应用软件的使用。
6.通过编程,上机调试程序,进一步增强使用计算机解决问题的能力。
二、实验内容
1、用matlab编制信号产生子程序,产生以下典型信号序列。
2、利用MATLAB编程完成序列(5)和(6)的移位、反转、加法、乘法等运算,并绘制运算后序列的波形。
四个步骤:
(1)反转:先将x(n)和h(n)的变量n换成m,变成x(m)和h(m),再将h(m)以纵轴为对称轴反转成h(-m)。
(2)移位:将h(-m)移位n,得h(n-m)。当n为正数时,右移n位;当n为负数时,左移n位。
(3)相乘:将h(n-m)和x(m)的对应点值相乘。
(4)求和:将以上所有对应点的乘积累加起来,即得y(n)。
①在N=8时,x2(n)和x3(n)的幅频特性会相同吗?为什么?N=16呢?
②FFT在什么条件下也可以用来分析周期信号序列的频谱?如果正弦信号系统sin(2πf0k),f0=0.1Hz,用16点FFT来做DFT运算,得到的频谱是信号本身的真实谱吗?为什么?
(1)答:不相同。当N=8时,序列x1(n)和x2(n)中相同的元素值对应的 n 值是不同的,所乘的旋转因子的值也不同,因而得到的最终结果也是不同的。同理,N=16时,所得的幅频特性也是不同的。
实验题目
离散时间信号分析
实验时间
2017年10月24日
实验地点
主教1118
实验成绩
实验性质
□验证性□设计性√综合性
教师评语:
□出勤率好□原理正确□方案合理
□实验结果正确□回答问题正确□报告规范
一、实验目的
1.掌握各种常用的序列,理解其数学表达式和波形表示。
2.掌握在计算机中生成及绘制数字信号波形的方法。
六、实验结果分析
1.如何产生方波信号序列和锯齿波信号序列?
答:方波信号由square函数可得,锯齿波信号由循环语句产生。
%方波
T=0:0.001:2*pi;%方波的时间向量
y=square(6*T);%方波w=6,周期为T=2*pi/6
subplot(2,1,1);
plot(T,y);%画方波
title('方波');
二、实验内容
(1)用matlab编程产生并画出信号x1(n)、x2(n)、x3(n)、x4(n)、x5(n)。
(2)用matlab编制FFT函数对上述信号进行频谱分析,并画出上述信号谱图。
三、实验原理
一个序列x(n)的离散时间傅里叶变换就是它的频谱函数。
四、使用仪器、器材
计算机,MATLAB
五、实验过程原始记录(实验源程序、图标、计算等)
axis([T(1)-1 T(end)+1 -2 2]);%坐标轴区域
hold on
%锯齿波
x=-10:10;
y=[];
for i=1:21%rem为取余函数,此循环使得y(i)交替取值1和-1
if rem(i,2)==0
y(i)=-1;
else
y(i)=1;
end
end
subplot(2,1,2);
相关文档
最新文档