重庆大学数字信号处理大作业报告 下载本文

内容发布更新时间 : 2024/5/3 4:46:34星期一 下面是文章的全部内容请认真阅读。

数字信号处理课外实验设计

——音频采样和频谱混叠

课程名称:数字信号处理 院系:通信工程学院 专业:通信01班 年级:2013级

姓 名: 叶汉霆 学号: 20134414 指导教师: 吴华 实验时间: 2015.11.26

重庆大学

20134414通信01班叶汉霆

一、 实验目的: 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、(选作)在噪声环境中录制一段自己的声音,试采用一种方法将噪声尽可能地消除。 1

20134414通信01班叶汉霆

四、 实验步骤: 仿真程序DSP_homework1.m: clc; clear; close all; %% 44100Hz和5512Hz采集音频文件 [FileName,PathName] = uigetfile('*.wav','选择待处理音频文件');%获取处理音频文件位置 path1=fullfile(PathName,FileName); [x,Fs1]=audioread(path1);%默认采样频率Fs为44100Hz x1=x(:,1);%1声道数据 x2=x(:,2);%2声道数据 %y1=x1(1:800000); %y1=x1(1:8:end); Fs2=5512; y1=resample(x1,5512,44100); %信号降采样处理,采样从44100Hz降到5512Hz y2=resample(x2,5512,44100); y=[y1 y2]; t1=0:1/Fs1:(length(x1)-1)/Fs1;%取时域横轴t t2=0:1/Fs2:(length(y1)-1)/Fs2; N =5096; ?t点数,以频谱分辨率为10Hz,信号最高频率40kHz求出记录最小点数 f=10^3;%取频率轴单位为KHz X1=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格式音频文件,试听音乐效果 %% 绘图 2