重庆大学数字信号处理大作业报告
重庆大学数字信号处理大作业报告
数字信号处理课外实验设计——音频采样和频谱混叠课程名称:数字信号处理院系:通信工程学院专业:通信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.实验分析声音信号的采集与分析处理在工程应用中是经常需要解决的题,如何实时采集声音信号并对其分析处理,找出声音信号的特征在科学研究中是一项非常有意义的工作。
数字信号处理实验报告
数字信号处理实验报告引言数字信号处理(Digital Signal Processing,DSP)是一门研究数字信号的获取、分析、处理和控制的学科。
在现代科技发展中,数字信号处理在通信、图像处理、音频处理等领域起着重要的作用。
本次实验旨在通过实际操作,深入了解数字信号处理的基本原理和实践技巧。
实验一:离散时间信号的生成与显示在实验开始之前,我们首先需要了解信号的生成与显示方法。
通过数字信号处理器(Digital Signal Processor,DSP)可以轻松生成和显示各种类型的离散时间信号。
实验设置如下:1. 设置采样频率为8kHz。
2. 生成一个正弦信号:频率为1kHz,振幅为1。
3. 生成一个方波信号:频率为1kHz,振幅为1。
4. 将生成的信号通过DAC(Digital-to-Analog Converter)输出到示波器上进行显示。
实验结果如下图所示:(插入示波器显示的正弦信号和方波信号的图片)实验分析:通过示波器的显示结果可以看出,正弦信号在时域上呈现周期性的波形,而方波信号则具有稳定的上下跳变。
这体现了正弦信号和方波信号在时域上的不同特征。
实验二:信号的采样和重构在数字信号处理中,信号的采样是将连续时间信号转化为离散时间信号的过程,信号的重构则是将离散时间信号还原为连续时间信号的过程。
在实际应用中,信号的采样和重构对信号处理的准确性至关重要。
实验设置如下:1. 生成一个正弦信号:频率为1kHz,振幅为1。
2. 设置采样频率为8kHz。
3. 对正弦信号进行采样,得到离散时间信号。
4. 对离散时间信号进行重构,得到连续时间信号。
5. 将重构的信号通过DAC输出到示波器上进行显示。
实验结果如下图所示:(插入示波器显示的连续时间信号和重构信号的图片)实验分析:通过示波器的显示结果可以看出,重构的信号与原信号非常接近,并且能够还原出原信号的形状和特征。
这说明信号的采样和重构方法对于信号处理的准确性有着重要影响。
重邮课程实验报告
一、实验名称数字信号处理实验二、实验目的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滤波器具有较好的频率选择性,滤波效果符合预期。
重庆大学通信学院数字信号处理实验第四次实验报告
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。
数字信号处理 实习大报告 (2)
6月21号
完成任务:对程序进行标注
文件名:Gibbs_Phenomena_CFST 添加注释.m
6月22号
完成任务:在一幅图上画出多幅小图,画一组二维图
文件名:zuoye2.m
运行结果:
6月23号
完成任务:画三维图形
文件名:zuoye2_1.m
运行结果:
6月25号
完成任务:画复数的事实部和虚部
文件名称:zuoye2_2.m
运行结果:
6月26号
完成任务:计算普通褶积
文件名称:zuoye3_1.m
运行结果:
6月27号
完成任务:计算循环褶积
文件名称:zuoye3_2.m
运行结果:
6月28日
完成任务:相关分析
文件名称:zuoye3_3.m
运行结果:
6月29号
完成任务:病态系统
文件名称:zuoye4.m 运行结果:
6月30号
完成任务:一维滤波文件名称:zuoye5.m 运行结果:
完成任务:二维滤波器文件名称:zuoye6.m 运行结果:、
完成任务:验证时间域的循环褶积对应的是频率域的乘积;线性褶积则不然文件名称:zuoye7.m
运行结果:
7月1号
完成任务:请用通俗、易懂的语言说明数字信号处理中的一种性质、一条定理或一个算例(顺便利用Matlab对其进行实现)。
褶积运算具有可交换性,相关运算不具有交换性。
文件名称:zuoye8.m
运行结果:。
课程大作业——数字信号处理实验报告
实验一 信号、系统及系统响应一.实验目的1.熟悉理想采样的性质,了解信号采用前后的频谱变化,加深对采样定理的理解。
2.熟悉离散信号和系统的时域特性。
3.熟悉线性卷积的计算编程方法:利用卷积的方法,观察、分析系统响应的时域特性。
4.掌握序列傅氏变换的计算机实现方法,利用序列的傅氏变换对离散信号、系统及系统响应进行频域分析。
二.实验原理1.连续时间信号的采样采样是从连续时间信号到离散时间信号的过渡桥梁,对采样过程的研究不仅可以了解采样前后信号时域和频域特性发生的变化以及信号内容不丢失的条件,而且有助于加深对拉氏变换、傅氏变换、z 变换和序列傅氏变换之间关系的理解。
对一个连续时间信号进行理想采样的过程可以表示为该信号和个周期冲激脉冲的乘积,即)()()(ˆt M t x t xa a = (1-1) 其中)(ˆt xa 是连续信号)(t x a 的理想采样,)(t M 是周期冲激脉冲 ∑+∞-∞=-=n nT t t M )()(δ (1-2)它也可以用傅立叶级数表示为:∑+∞-∞=Ω=n tjm s e T t M 1)( (1-3)其中T 为采样周期,T s /2π=Ω是采样角频率。
设)(s X a 是连续时间信号)(t x a 的双边拉氏变换,即有:⎰+∞∞--=dt e t xs X st aa )()( (1-4)此时理想采样信号)(ˆt xa 的拉氏变换为 ∑⎰+∞-∞=+∞∞--Ω-===m s a sta a jm s X T dt e t x s X )(1)(ˆ)(ˆ (1-5)作为拉氏变换的一种特例,信号理想采样的傅立叶变换[]∑+∞-∞=Ω-Ω=Ωm s a a m j X T j X )(1)(ˆ (1-6)由式(1-5)和式(1-6)可知,信号理想采样后的频谱是原信号频谱的周期延拓,其延拓周期等于采样频率。
根据Shannon 采样定理,如果原信号是带限信号,且采样频率高于原信号最高频率分量的2倍,则采样以后不会发生频率混淆现象。
数字信号处理实验报告
一、实验目的1. 理解数字信号处理的基本概念和原理。
2. 掌握离散时间信号的基本运算和变换方法。
3. 熟悉数字滤波器的设计和实现。
4. 培养实验操作能力和数据分析能力。
二、实验原理数字信号处理(Digital Signal Processing,DSP)是利用计算机对信号进行采样、量化、处理和分析的一种技术。
本实验主要涉及以下内容:1. 离散时间信号:离散时间信号是指时间上离散的信号,通常用序列表示。
2. 离散时间系统的时域分析:分析离散时间系统的时域特性,如稳定性、因果性、线性等。
3. 离散时间信号的变换:包括离散时间傅里叶变换(DTFT)、离散傅里叶变换(DFT)和快速傅里叶变换(FFT)等。
4. 数字滤波器:设计、实现和分析数字滤波器,如低通、高通、带通、带阻滤波器等。
三、实验内容1. 离散时间信号的时域运算(1)实验目的:掌握离散时间信号的时域运算方法。
(2)实验步骤:a. 使用MATLAB生成两个离散时间信号;b. 进行时域运算,如加、减、乘、除等;c. 绘制运算结果的时域波形图。
2. 离散时间信号的变换(1)实验目的:掌握离散时间信号的变换方法。
(2)实验步骤:a. 使用MATLAB生成一个离散时间信号;b. 进行DTFT、DFT和FFT变换;c. 绘制变换结果的频域波形图。
3. 数字滤波器的设计和实现(1)实验目的:掌握数字滤波器的设计和实现方法。
(2)实验步骤:a. 设计一个低通滤波器,如巴特沃斯滤波器、切比雪夫滤波器等;b. 使用MATLAB实现滤波器;c. 使用MATLAB对滤波器进行时域和频域分析。
4. 数字滤波器的应用(1)实验目的:掌握数字滤波器的应用。
(2)实验步骤:a. 采集一段语音信号;b. 使用数字滤波器对语音信号进行降噪处理;c. 比较降噪前后的语音信号,分析滤波器的效果。
四、实验结果与分析1. 离散时间信号的时域运算实验结果显示,通过MATLAB可以方便地进行离散时间信号的时域运算,并绘制出运算结果的时域波形图。
数字信号处理 实习大报告 (9)
数字信号分析处理实习报告勘查07.3 白通20070143086月21日实习任务:熟悉MATLAB的操作界面和基本操作,完成第一题实习成果:更加熟悉CFST运算已经吉普斯现象的原理;同时基本了解MATLAB中判断语句if ,循环语句 for的基本用法以及MATLAB画图语句plot以及相应text,title,xlabel等相关语句的使用。
程序名见第一题Gibbs_Phenomena_CFST.m6月22日实习任务:继续熟悉MATLAB基本操作,在此基础上熟悉MATLAB画图,包括X、Y坐标轴上的label,每幅图上的title,绘画多条曲线时的legend,对图形进行适当的标注等。
实习成果:(1)在一副图上画出多幅小图;(2)画出一组二维图形;(3)画出一组三维图形;(4)画出复数的实部与虚部。
程序见第二题drawing1~drawing4(1)在一副图上画出多幅小图(程序名drawing1)(2)画出一组二维图形(程序名drawing2)(3)画出一组三维图形(程序名drawing3)(4)画出复数的实部与虚部(程序名drawing4)6月23日实习任务:计算普通褶积与循环褶积,分别使用时间域与频率域两种方法进行正、反演计算,指出循环褶积计算时所存在的边界效应现象;编写一个做相关分析的源程序。
实习成果:(1)在时间域,频率域上分别计算线性褶积,循环褶积,并指出边界效应现象(程序见第3题zheji.m)造两个数组 a=[1 2 3 4 5],b=[4 5 3 2];循环摺积结果为[47 36 35 39 53]产生边界效应后结果为[47 36 35 39 33](2)相关分析(程序见第3题xiangguanhanshu.m)根据a=[1 2 3 4 5]作出HANKEL矩阵A=1 2 3 4 5 0 0 02 3 4 5 0 0 0 13 4 5 0 0 0 1 24 5 0 0 0 1 2 35 0 0 0 1 2 3 40 0 0 1 2 3 4 50 0 1 2 3 4 5 00 1 2 3 4 5 0 0B = [4 5 3 2 0 0 0 0];进而求得相关系数r= [31 45 47 41 20 2 7 17]6月24日实习任务:设计一个病态(矩阵)系统,分析其病态程度;通过添加白噪因子解决相应问题实习成果:程序见第4题bingtaijuzhen.m先随意作数组a=[1 4 5 6 7 4]' ,对其求傅立叶运算后对其谱共轭项取0;在进行反傅立叶运算,得数组aa ;aa =[4.3333 4.6667 4.3333 4.6667 4.3333 4.6667] ',通过aa作循环矩阵A,可得m=inv(A)各项全为inf,故A是所需的病态矩阵。
数字信号处理实验报告
数字信号处理实验报告一、实验目的本次数字信号处理实验的主要目的是通过实际操作和观察,深入理解数字信号处理的基本概念和方法,掌握数字信号的采集、处理和分析技术,并能够运用所学知识解决实际问题。
二、实验设备与环境1、计算机一台,安装有 MATLAB 软件。
2、数据采集卡。
三、实验原理1、数字信号的表示与采样数字信号是在时间和幅度上都离散的信号,可以用数字序列来表示。
在采样过程中,根据奈奎斯特采样定理,为了能够准确地恢复原始信号,采样频率必须大于信号最高频率的两倍。
2、离散傅里叶变换(DFT)DFT 是将时域离散信号变换到频域的一种方法。
通过 DFT,可以得到信号的频谱特性,从而分析信号的频率成分。
3、数字滤波器数字滤波器是对数字信号进行滤波处理的系统,分为有限冲激响应(FIR)滤波器和无限冲激响应(IIR)滤波器。
FIR 滤波器具有线性相位特性,而 IIR 滤波器则在性能和实现复杂度上有一定的优势。
四、实验内容与步骤1、信号的采集与生成使用数据采集卡采集一段音频信号,或者在 MATLAB 中生成一个模拟信号,如正弦波、方波等。
2、信号的采样与重构对采集或生成的信号进行采样,然后通过插值算法重构原始信号,观察采样频率对重构信号质量的影响。
3、离散傅里叶变换对采样后的信号进行DFT 变换,得到其频谱,并分析频谱的特点。
4、数字滤波器的设计与实现(1)设计一个低通 FIR 滤波器,截止频率为给定值,观察滤波前后信号的频谱变化。
(2)设计一个高通 IIR 滤波器,截止频率为给定值,比较滤波前后信号的时域和频域特性。
五、实验结果与分析1、信号的采集与生成成功采集到一段音频信号,并在MATLAB 中生成了各种模拟信号,如正弦波、方波等。
通过观察这些信号的时域波形,对不同类型信号的特点有了直观的认识。
2、信号的采样与重构当采样频率足够高时,重构的信号能够较好地恢复原始信号的形状;当采样频率低于奈奎斯特频率时,重构信号出现了失真和混叠现象。
数字信号处理 实习大报告 (4)
《计算机编程与数字信号处理实习》大作业勘查07-3班段云江2007014310 一.6月21--22号这两天主要完成对matlab语言以及操作的熟悉,对给定的程序进行了注释,加深了对数字信号用matlab来实现对它的分析的理解。
对以下给定源程序的注释: % Gibbs_Phenomena_CFST.m 具体见附录文件夹一二、6月23号主要完成(1)--(3)小题的程序编写,进一步加深了对matlab的画图功能的理解和掌握,对关键的源代码能熟练的掌握。
能对图形进行必要的修饰。
6月24日完成对(4)--(5)小题的程序编写。
进一步加深巩固了对matlab画图功能的运用。
具体成果如下:(1)在一副图上画出多幅小图;运行结果及程序见附录中相关文件夹二中。
源程序为ba.m ;对应的图形见ba(2)画出一组二维图形;运行结果及程序 见附录中相关文件夹二中。
源程序为bb.m ;对应的图形见bb(3)画出一组三维图形;运行结果及程序 见附录中相关文件夹二中。
源程序为bc.m 对应的图形见bcxyz(4)画出复数的实部与虚部。
运行结果及程序 见附录中相关文件夹二中。
源程序为bd.m 对应的图形见bd(5)完成对一个源程序进行详细注释。
运行结果及程序 见附录中相关文件夹二中。
源程序为 be.m 对应的注释。
三、6月25日完成在时间域计算线性褶积计算普通褶积与循环褶积,分别使用时间域与频率域两种方法进行正、反演计算,指出循环褶积计算时所存在的边界效应现象;编写一个做相关分析的源程序。
实习成果:一 (1)在时间域计算线性褶积(程序见附录ca.m )当两信号分别为x=[0 1 1 0]',y=[0 1 2 3 ]’'时,利用下面线性褶积公式:求得的线性褶积结果为A=[0 0 1 3 5 3 0]’.(2)在时间域正演计算循环褶积(程序见附录cb.m )当两信号分别为x=[0 1 1 0]',y=[0 1 2 3 ]’'时利用如下循环褶积公式:求得的循环褶积结果为列向量B=[0 0 1 3 5 3 0]’从以上(1),(2)两问可以看出当N 相等时线性褶积与循环褶积的值是相等的。
数字信号处理大作业
数字信号处理大作业班级学号姓名陈志豪一.要求本次作业要求对一段音乐进行处理,该音乐包含了蜂鸣噪声,根据该段音乐,我们需处理以下问题:1. 利用matlab软件对audio1211.wav音频信号进行数字信号采样,分别对采样后的信号进行时/频域分析,并提供仿真图和分析说明;2. 设计合理的数字滤波器,滤去音频信号中的蜂鸣音,给出详细设计流程,并提供频域仿真图和分析说明;3. 将数字滤波后的数字信号转换成wav格式音频文件二.分析(1)通过播放所给音乐文件,很明显能听出wav文件中包含蜂鸣噪音,所以我们应该先分析频谱。
在matlab下可以用函数wavread/audioread读入语音信号进行采样,我们可以通过wavread得到声音数据变量x和采样频率fs、采样精度nbits,在读取声音信号之后,利用读出的采样频率作为参数,这段音频读出的采样精度为16,fs为44100hz,所以我们将此后采集时间、fft的参数设置为fs,也就是44100hz。
最后我们通过plot函数绘制出了音频信号与时间的关系图pic1,使用fft函数进行fft处理。
处理后的信号频谱pic2,如下所示图1.音频信号与时间的关系图从图1横坐标我们看到t在9-10s之间截止,与我们在音乐播放器中显示的时间一致。
图2.fft之后得到的频域分析结果图3.噪声读取图2为运用fft后得到的处理结果,可以从中读取到,在293.7hz、4671hz附近幅值突然增大,可以确定为噪声干扰。
所以我们应该针对频率附近进行滤波。
如果针对性进行滤波处理,应该使用低通滤波器进行处理,去除这部分的噪音。
之后需要选定滤波器并进行程序设计,在4671hz附近进行滤波,去除蜂鸣杂音。
(2)我们需要对蜂鸣音进行除去,自然需要用到滤波器。
所以第二步我们需要设计滤波器并给出详细流程。
在第一问的频谱分析中,通过FFT我们已经知道噪音所在,所以我们需要针对这个问题设计参数。
在这里我们选用巴特沃斯低通滤波器进行处理,我们需要设定好的参数有通带边界频率、阻带边界频率、通带最大衰减和通过阻带的最小分贝数(由buttord 在matlab定义得)。
数字信号处理实验报告完整版[5篇模版]
数字信号处理实验报告完整版[5篇模版]第一篇:数字信号处理实验报告完整版实验 1利用 T DFT 分析信号频谱一、实验目的1.加深对 DFT 原理的理解。
2.应用 DFT 分析信号的频谱。
3.深刻理解利用DFT 分析信号频谱的原理,分析实现过程中出现的现象及解决方法。
二、实验设备与环境计算机、MATLAB 软件环境三、实验基础理论T 1.DFT 与与 T DTFT 的关系有限长序列的离散时间傅里叶变换在频率区间的N 个等间隔分布的点上的 N 个取样值可以由下式表示:212 /0()|()()0 1Nj knjNk NkX e x n e X k k Nπωωπ--====≤≤-∑由上式可知,序列的 N 点 DFT ,实际上就是序列的 DTFT 在 N 个等间隔频率点上样本。
2.利用 T DFT 求求 DTFT方法 1 1:由恢复出的方法如下:由图 2.1 所示流程可知:101()()()Nj j n kn j nNn n kX e x n e X k W eNωωω∞∞----=-∞=-∞=⎡⎤==⎢⎥⎣⎦∑∑∑由上式可以得到:IDFT DTFT第二篇:数字信号处理实验报告JIANGSUUNIVERSITY OF TECHNOLOGY数字信号处理实验报告学院名称:电气信息工程学院专业:班级:姓名:学号:指导老师:张维玺(教授)2013年12月20日实验一离散时间信号的产生一、实验目的数字信号处理系统中的信号都是以离散时间形态存在的,所以对离散时间信号的研究是数字信号的基本所在。
而要研究离散时间信号,首先需要产生出各种离散时间信号。
使用MATLAB软件可以很方便地产生各种常见的离散时间信号,而且它还具有强大绘图功能,便于用户直观地处理输出结果。
通过本实验,学生将学习如何用MATLAB产生一些常见的离散时间信号,实现信号的卷积运算,并通过MATLAB中的绘图工具对产生的信号进行观察,加深对常用离散信号和信号卷积和运算的理解。
数字信号处理实验报告11-12-10
《数字信号处理》实验报告专业学号姓名实验一 利用FFT 实现快速卷积一、实验目的1.加深理解FFT 在实现数字滤波(或快速卷积)中的重要作用,更好的利用FFT 进行数字信号处理。
2.掌握循环卷积和线性卷积两者之间的关系。
二、实验原理用FFT 来快速计算有限长度序列的线性卷积。
这种方法就是先将输入信号x(n)通过FFT 变换为它的频谱采样值()x k ,然后再和FIR 滤波器的频响采样值H(k)相乘,H(k)可事先存放在存储器中,最后再将乘积H(k)X(k)通过快速傅里叶变换(简称IFFT )还原为时域序列,即得到输出y(n)。
现以FFT 求有限长序列的卷积及求有限长度序列与较长序列间的卷积为例来讨论FFT 的快速卷积方法。
序列x(n)和h(n)的长差不多。
设x(n)的长为N 1,h(n)的长为N 2,要求∑-=-=⊗=1)()()()()(N m m n x m h n y n x n y用FFT 完成这一卷积的具体步骤如下:①为使两有限长序列的线性卷积可用其循环卷积代替而不发生混叠,必须选择循环卷积长度121-+≥N N N ,若采用基2-FFT 完成卷积运算,要求m N 2=(m 为整数)。
②用补零方法使x(n)和h(n)变成列长为N 的序列。
1122()01()01()01()01x n n N x n N n N h n n N h n N n N ≤≤-⎧=⎨≤≤-⎩≤≤-⎧=⎨≤≤-⎩③用FFT 计算x(n)和h(n)的N 点离散傅里叶变换。
④完成X(k)和H(k)乘积,)()()(k H k x k Y = ⑤用FFT 计算 ()Y k 的离散傅里叶反变换得*10*10)(1)(1)(⎭⎬⎫⎩⎨⎧⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡=∑∑-=--=N k nk N nk N N k W k Y N W k Y N n y三、主要实验仪器及材料微型计算机、Matlab6.5教学版。
四、实验内容1.数字滤波器的脉冲响应为()22()1/2(),8nN h n R n N ==。
数字信号处理大作业
数字高通滤波器设计报告
设计步骤:这次选择设计的是巴特沃斯数字高通滤波器,对输入信号xn=cos(8*pi*t)+cos(20*pi*t),最高频率f=20*pi/2*pi=10Hz,所以采样频率Fs应大于等于20Hz,在这里我选择的采样频率Fs=80Hz。
设计思想:从归一化模拟低通原型出发,先在模拟域内经频率变换成为所需类型的模拟滤波器;然后进行双线性变换,由S域变换到Z域,而得到所需类型的数字滤波器。
选择指标参数,参数如下:通带边界频率wp=18*pi,阻带边界频率ws=10*pi,通带最大衰减ap=1,阻带最小衰减as=40。
MATLAB信号处理工具箱函数:[N,wc]=buttord(wp,ws,ap,as)用于计算巴特沃斯数字滤波器的阶数N和3dB截止频率wc。
[B,A]=butter(N,wc)用于计算N阶巴特沃斯数字滤波器系统函数分子和分母多项式的系数向量B和A。
然后用MATLAB 直接设计巴特沃斯数字高通滤波器。
结果分析:如图为设计好的巴特沃斯数字高通滤波器的幅频特性和滤波后输出信号的频谱图,可以看到低频分量f=8*pi/2*pi=4Hz已经被滤除掉。
设计心得:在课程设计的过程中,我学到了很多东西,比如设计滤波器的一些基本函数的用法,各种模拟滤波器的特性,设计滤波器的一些基本方法。
但更为重要的是,我对于解决一个问题的思路更加清晰,找到了属于自己的方法。
数字信号处理 实习大报告 (15)
数字信号实习上机实习报告实习目的:熟练掌握matlab,能够使用该软件完成一定的数字信号处理的任务,并能从中有一定的领悟,达到应用和熟练的程度。
实习任务:一、能够利用Matlab熟悉地画图,内容包括:X、Y坐标轴上的label,每幅图上的title,绘画多条曲线时的legend,对图形进行适当的标注等。
(1)在一副图上画出多幅小图;(2)画出一组二维图形;(3)画出一组三维图形;(4)画出复数的实部与虚部。
(5)完成对一个源程序进行详细注释。
二、计算普通褶积与循环褶积,分别使用时间域与频率域两种方法进行正、反演计算,指出循环褶积计算时所存在的边界效应现象;编写一个做相关分析的源程序。
三、设计一个病态(矩阵)系统,分析其病态程度;找出对应的解决方法(提示:添加白噪因子)。
四、设计一个一维滤波处理程序(1、分别做低通、高通、带通、带阻等理想滤波器进行处理;2、窗函数)。
五、设计一个二维滤波处理程序(分别做低通、高通等处理)。
六、验证时间域的循环褶积对应的是频率域的乘积;线性褶积则不然。
七、请用通俗、易懂的语言说明数字信号处理中的一种性质、一条定理或一个算例(顺便利用Matlab对其进行实现)。
实习时间:2010年6月21日——2010年7月2日实习地点:润杰公寓五层机房1. 能够利用Matlab熟悉地画图,内容包括:X、Y坐标轴上的label,每幅图上的title,绘画多条曲线时的legend,对图形进行适当的标注等。
(1)在一副图上画出多幅小图;(2)画出一组二维图形;(3)画出一组三维图形;(4)画出复数的实部与虚部。
(5)完成对一个源程序进行详细注释。
%在一副图上画出四幅图像%%%%%%%%%%%%%%%%%%%%%%clear all;close all;t=-10:0.1:10;subplot(2,2,1);plot(t,sin(t));axis([-5,5,-1.5,1.5]);title('正弦曲线');xlabel('x');ylabel('y');grid;subplot(2,2,2);plot(t,cos(t),'-r','LineWidth',2);axis([-5,5,-1.5,1.5]);title('余弦曲线');xlabel('x');ylabel('y');grid;subplot(2,2,3);plot(t,tan(t),'-b','LineWidth',1);axis([-5,5,-1.5,1.5]);title('正切曲线');xlabel('x');ylabel('y');subplot(2,2,4);plot(t,rectpuls(t,2),'-r',t,sawtooth(t,1)); axis([-5,5,-1.5,1.5]);title('三角脉冲和矩形脉冲');xlabel('x');ylabel('y');Legend('rectpuls(t,2)','sawtooth(t,1)'); grid;print -djpeg -r0 Firstwork.jpeg;运行结果:(详情请参考文件Untitled1)2)画出一组二维图形figure(2)t=linspace(-6,6);f1=t.^2;f2=-t.^2;plot(t,f1,'-k');hold on;plot(t,f2,':r');text(-2,20,'f1=t^2','FontSize',12,'FontWeight','bold'); text(-2,-20,'f2=-t^2','FontSize',12,'FontWeight','bold'); title('二维图')print -djpeg -r0 2.jpeg(详情请参考文件Untitled2)做三维图:x=linspace(0,4,30); %0到4之间取三十个点y=linspace(0,5,30); %0到5之间取30个点[xx,yy]=meshgrid(x,y); %作图z1=sin(xx).*cos(yy); %z1函数x=0:0.2:4;y=x;[xx,yy]=meshgrid(x,y);z2=xx.^4+3*xx.^2-2*xx+6; %z2函数x=0:0.5:6;y=cos(x);[xx,yy]=meshgrid(x,y);r=sqrt(xx.^2+yy.^2)+eps;z3=sin(r)/r;subplot(2,2,1),mesh(z1); %画两行两列图(z1)title('z1')subplot(2,2,2),mesh(z2);title('z2')subplot(2,2,3),waterfall(z2);title('z2')subplot(2,2,4),mesh(z3);(详情请参考文件Untitled3)画复数实部虚部:x=linspace(-10,10,20);alpha=-0.2+0.5j;y=exp(alpha*x);subplot(2,1,1);stem(x,real(x),'r');hold on subplot(2,1,2);stem(x,imag(x),'r');hold on title('虚部');xlabel('x')print -djpeg -r0 3.jpeg运算结果如下:(详情请参考文件Untitled4)(5)完成对一个源程序进行详细注释。
数字信号处理实验报告
数字信号处理实验报告数字信号处理实验报告一、实验目的本实验旨在通过数字信号处理的方法,对给定的信号进行滤波、频域分析和采样率转换等操作,深入理解数字信号处理的基本原理和技术。
二、实验原理数字信号处理(DSP)是一种利用计算机、数字电路或其他数字设备对信号进行各种处理的技术。
其主要内容包括采样、量化、滤波、变换分析、重建等。
其中,滤波器是数字信号处理中最重要的元件之一,它可以用来提取信号的特征,抑制噪声,增强信号的清晰度。
频域分析是指将时域信号转化为频域信号,从而更好地理解信号的频率特性。
采样率转换则是在不同采样率之间对信号进行转换,以满足不同应用的需求。
三、实验步骤1.信号采集:首先,我们使用实验室的信号采集设备对给定的信号进行采集。
采集的信号包括噪声信号、含有正弦波和方波的混合信号等。
2.数据量化:采集到的信号需要进行量化处理,即将连续的模拟信号转化为离散的数字信号。
这一步通常通过ADC(模数转换器)实现。
3.滤波处理:将量化后的数字信号输入到数字滤波器中。
我们使用不同的滤波器,如低通、高通、带通等,对信号进行滤波处理,以观察不同滤波器对信号的影响。
4.频域分析:将经过滤波处理的信号进行FFT(快速傅里叶变换)处理,将时域信号转化为频域信号,从而可以对其频率特性进行分析。
5.采样率转换:在进行上述处理后,我们还需要对信号进行采样率转换。
我们使用了不同的采样率对信号进行转换,并观察采样率对信号处理结果的影响。
四、实验结果及分析1.滤波处理:经过不同类型滤波器处理后,我们发现低通滤波器可以有效抑制噪声,高通滤波器可以突出高频信号的特征,带通滤波器则可以提取特定频率范围的信号。
这表明不同类型的滤波器在处理不同类型的信号时具有不同的效果。
2.频域分析:通过FFT处理,我们将时域信号转化为频域信号。
在频域分析中,我们可以更清楚地看到信号的频率特性。
例如,对于噪声信号,我们可以看到其频率分布较为均匀;对于含有正弦波和方波的混合信号,我们可以看到其包含了不同频率的分量。
数字信号处理大作业报告要求
正文内容1:研究或实验目的
是正文的开篇,要求简明扼要,重点突出。
实验性强的论文,先写为什么要进行这个实验, 通过实验要达到的目的是什么 理论性强的论文,要写清楚准备解决的问题以 及解决问题的基本思路 如果课题涉及面较广,论文只涉及其中某一方 面,则要写清本文着重探索哪一方面的问题, 并交待理由
2、科技论文的写作格式
科技论文一般包括以下8个部分:题名、 作者署名、摘要、关键词、引言、正文、 结论和参考文献
2.1、题名
题名应以最恰当、简明的词语反映出文 章中最重要的特定内容。题名要简明、 准确、醒目,有利于读者阅读和文献检 索。 题名一般不宜超过20字,因此,题名 尽可能删弃多余的词语,避免将同义词 或近义词连用,如常见的有“……的研 究和探讨”,“……的分析研究”,一 般可删去其中的一个。
有时候本部分可在引言中描述,正文部分不再 复述
正文内容2:研究基础
研究工作的基础,一定要交代清楚以便 他人据此重复验证
实验性的论文,要说明选用的材料、设 备和实验(观测)的方法等 理论性的论文,要说明基本假设、已有 的结论、所采用的模型和算法等
正文内容3:研究过程
理论分析部分: 详细说明所使用的分析方法和计算方法 等基本情况;指出所应用的分析方法、 计算方法、实验方法等哪些是已有的, 哪些是经过自己改进的,哪些是自己创 造的,这一部分所占篇幅不宜过多,应 以简练、明了的文字概略表述。
2.4、关键词
关键词是为了文献标引工作,特别是适应计算 机自动检索的要求,从文章中选取出来用以表 示全文主题信息的单词或术语。 关键词可从文章的四个部位去寻找:
◦ ◦ ◦ ◦
从题名中找,题名是论文的主题浓缩,最易找到; 从文摘中找; 从论文的小标题中找; 从结论中找。
数字信号处理大作业
数字信号处理上机实验学院:电子工程学院班级:021061学号: 02106013姓名:岳震震实验一:信号、系统及系统响应02106013 岳震震一,实验目的(1) 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解。
(2)熟悉时域离散系统的时域特性。
(3)利用卷积方法观察分析系统的时域特性。
(4)掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。
二,实验原理与方法(1) 时域采样。
(2)LTI系统的输入输出关系。
三,实验内容及步骤(1)认真复习采样理论、离散信号与系统、线性卷积、序列的傅里叶变换及性质等有关内容,阅读本实验原理与方法。
(2)编制实验用主程序及相应子程序。
①信号产生子程序,用于产生实验中要用到的下列信号序列:a .Xa(t)=Ae-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)调通并运行实验程序,完成下述实验内容:①分析采样序列的特性。
a. 取采样频率fs=1 kHz, 即T=1 ms。
b.改变采样频率,fs=300Hz,观察|X(ejω)|的变化,并做记录(打印曲线);进一步降低采样频率,fs=200Hz,观察频谱混叠是否明显存在,说明原因,并记录(打印)这时的|X(ejω)|曲线。
②时域离散信号、系统和系统响应分析。
a.观察信号xb(n)和系统hb(n)的时域和频域特性;利用线性卷积求信号xb(n)通过系统hb(n)的响应y(n),比较所求响应y(n)和hb(n)的时域及频域特性,注意它们之间有无差别,绘图说明,并用所学理论解释所得结果。
数字信号处理实验报告
《数字信号处理》实验报告课程名称:《数字信号处理》学院:信息科学与工程学院专业班级:通信1502班学生姓名:侯子强学号:0905140322指导教师:李宏2017年5月28日实验一 离散时间信号和系统响应一. 实验目的1. 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解2. 掌握时域离散系统的时域特性3. 利用卷积方法观察分析系统的时域特性4. 掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对离散信号及系统响应进行频域分析二、实验原理1. 采样是连续信号数字化处理的第一个关键环节。
对采样过程的研究不仅可以了解采样前后信号时域和频域特性的变化以及信号信息不丢失的条件,而且可以加深对离散傅里叶变换、Z 变换和序列傅里叶变换之间关系式的理解。
对连续信号()a x t 以T 为采样间隔进行时域等间隔理想采样,形成采样信号:ˆ()()()a a xt 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 TX j X e ωω=ΩΩ=而()()j j n n X e x n e ωω∞-=-∞=∑为采样序列的傅里叶变换2. 时域中,描述系统特性的方法是差分方程和单位脉冲响应,频域中可用系统函数描述系统特性。
数字信号处理 实习大报告 (4)
《计算机编程与数字信号处理实习》大作业勘查07-3班段云江2007014310 一.6月21--22号这两天主要完成对matlab语言以及操作的熟悉,对给定的程序进行了注释,加深了对数字信号用matlab来实现对它的分析的理解。
对以下给定源程序的注释: % Gibbs_Phenomena_CFST.m 具体见附录文件夹一二、6月23号主要完成(1)--(3)小题的程序编写,进一步加深了对matlab的画图功能的理解和掌握,对关键的源代码能熟练的掌握。
能对图形进行必要的修饰。
6月24日完成对(4)--(5)小题的程序编写。
进一步加深巩固了对matlab画图功能的运用。
具体成果如下:(1)在一副图上画出多幅小图;运行结果及程序见附录中相关文件夹二中。
源程序为ba.m ;对应的图形见ba(2)画出一组二维图形;运行结果及程序 见附录中相关文件夹二中。
源程序为bb.m ;对应的图形见bb(3)画出一组三维图形;运行结果及程序 见附录中相关文件夹二中。
源程序为bc.m 对应的图形见bcxyz(4)画出复数的实部与虚部。
运行结果及程序 见附录中相关文件夹二中。
源程序为bd.m 对应的图形见bd(5)完成对一个源程序进行详细注释。
运行结果及程序 见附录中相关文件夹二中。
源程序为 be.m 对应的注释。
三、6月25日完成在时间域计算线性褶积计算普通褶积与循环褶积,分别使用时间域与频率域两种方法进行正、反演计算,指出循环褶积计算时所存在的边界效应现象;编写一个做相关分析的源程序。
实习成果:一 (1)在时间域计算线性褶积(程序见附录ca.m )当两信号分别为x=[0 1 1 0]',y=[0 1 2 3 ]’'时,利用下面线性褶积公式:求得的线性褶积结果为A=[0 0 1 3 5 3 0]’.(2)在时间域正演计算循环褶积(程序见附录cb.m )当两信号分别为x=[0 1 1 0]',y=[0 1 2 3 ]’'时利用如下循环褶积公式:求得的循环褶积结果为列向量B=[0 0 1 3 5 3 0]’从以上(1),(2)两问可以看出当N 相等时线性褶积与循环褶积的值是相等的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字信号处理课外实验设计——音频采样和频谱混叠课程名称:数字信号处理院系:通信工程学院专业:通信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.实验分析声音信号的采集与分析处理在工程应用中是经常需要解决的题,如何实时采集声音信号并对其分析处理,找出声音信号的特征在科学研究中是一项非常有意义的工作。