语音信号的采集和频谱分析

语音信号的采集和频谱分析
语音信号的采集和频谱分析

语音信号的采集和频谱分析:

[y,fs,bits]=wavread('voice'); %读取音频信息(双声道,16位,频率44100Hz)sound(y,fs,bits); %回放该音频

Y=fft(y,4096); %进行傅立叶变换

subplot(211);

plot(y);

title('声音信号的波形');

subplot(212)

plot(abs(Y));

title('声音信号的频谱');

窗函数设计低通滤波器:

fp=1000;

fc=1200;

as=100;

ap=1;

fs=22000;

wp=2*fp/fs;

wc=2*fc/fs;

N=ceil((as-7.95)/(14.36*(wc-wp)/2))+1;

beta=0.1102*(as-8.7);

window=Kaiser(N+1,beta);

b=fir1(N,wc,window);

freqz(b,1,512,fs);

结果:

滤波:

[y,fs,bits]=wavread('voice');

d=filter(b,a,y);

D=fft(d);

subplot(211)

plot(d);

title('滤波后的声音波形')

subplot(212)

plot(abs(D))

title('滤波后的声音频谱')

回放:

sound(d,fs,bits)

与滤波之前相比,噪音明显降低了许多。

过零率的计算要用下面的代码:

zcr = zeros(size(y,1)1);

delta= 0.02;

for i=1:size(y,1)

x=y(i,:);

for j=1;length(x)-1

if x(j)*x(j+1)<0 &abs(x(j)-x(j+1))>delta

zcr(i)=zcr(i)+1;

end

end

end

其中设置了门限delta=0.02。这是个经验值,可以进行细微的调整。在此条件下可以得到如图所示的过零率波形。与过零率曲线画在一起的是原始的语音信号波形,可以看到,语音信号音母部分的幅度比较低,但是其过零率的数值却很高,峰值将近50,而后面的韵母部分过零率则比较低,在20左右。

加矩形窗的短时能量函数:

a=wavread('F:\WO.wav');

subplot(6,1,1),plot(a);

N=32;

for i=2:6

h=linspace(1,1, (i-1)*N);%形成一个矩形窗,长度为N

En=conv(h,a.*a);%求卷积得其短时能量函数En

subplot(6,1,i),plot(En);

if(i==2) legend('N=32');

elseif(i==3) legend('N=64');

elseif(i==4) legend('N=128');

elseif(i==5) legend('N=256');

elseif(i==6) legend('N=512');

end

end

加hamming窗的短时能量函数:

把h=linspace(1,1, (i-1)*N);

改为h1=hamming((i-1)*N);

加矩形窗的短时平均幅度:

a=wavread('F:\WO.wav');

subplot(6,1,1),plot(a);

N=32;

for i=2:6

h=linspace(1,1,(i-1)*N);%形成一个矩形窗,长度为N

En=conv(h,abs(a));%求卷积得其短时能量函数En

subplot(6,1,i),plot(En);

if(i==2) legend('N=32');

elseif(i==3) legend('N=64');

elseif(i==4) legend('N=128');

elseif(i==5) legend('N=256');

elseif(i==6) legend('N=512');

end

end

短时过零率:

a=wavread('F:\WO.wav');

n=length(a);

N=320;

subplot(3,1,1),plot(a);

h=linspace(1,1,N);%形成一个矩形窗,长度为N En=conv(h,a.*a);%求卷积得其短时能量函数En subplot(3,1,2),plot(En);

for i=1:n-1

if a(i)>=0

b(i)= 1;

else

b(i) = -1;

end

if a(i+1)>=0

b(i+1)=1;

else

b(i+1)=-1;

end

w(i)=abs(b(i+1)-b(i));

end%求出每相邻两点符号的差值的绝对值

k=1;

j=0;

while (k+N-1)

Zm(k)=0;

for i=0:N-1;

Zm(k)=Zm(k)+w(k+i);

end

j=j+1;

k=k+160; %每次移动半个窗

end

for w=1:j

Q(w)=Zm(160*(w-1)+1)/640;%短时平均过零率end

subplot(3,1,3),plot(Q);

短时过零率分析:

[x,fs,nbit]=wavread(‘’);

x=x/max(abs(x));

len=256;

inc=128;

tmp1=enframe(x(1:end-1),256,128);

tmp2=enframe(x(2:end),256,128);

signs(tmp1.*tmp2)<0;

diffs=(tmp1-tmp2)>0.02;

zor=sum(signs.*diffs,2);

figure;

subplot(2,1,1),plot(x)

subplot(2,1,2),plot(zor)

基音检测:

waveFile='lcq01.wav';[y, fs, nbits]=wavread(waveFile);

index1=11000;frameSize=256;

index2=index1+frameSize-1;

frame=y(index1:index2); subplot(2,1,1); plot(y);

grid on title(waveFile); line(index1*[1 1], [-1 1], 'color', 'r');

line(index2*[1 1], [-1 1], 'color', 'r'); subplot(2,1,2); plot(frame, '.-');

grid on point=[7, 189];

%基本减谱法

clear;

%[xx,fs]=wavread('E:\mywhisper\shu.wav');

%[xx,fs]=wavread('E:\speech\x\w1xun_01.wav');

%[xx,fs]=wavread('E:\speech\耳语音切割\b\w1ba_5');

[xx,fs]=wavread('D:\yuan.wav');% 读取音频文件yuan.wav,并返回采样数据给变量xx及采样率Fs

[team,row]=size(xx);%将数组xx的行数赋给team,列数赋给row

if row==2

x=(xx(:,1)+xx(:,2))/2;

yy=x;

%如果语音信号xx为2列,即信号为双声道,则将其转换成单声道信号,即取两列的平均值赋给x,并将x的值赋给yy

else

x=xx;

yy=x;

%若语音信号xx为单声道,则将xx的值赋给x,并将x的值赋给yy

end

x=x-mean(x)+0.1*rand(length(x),1

N=length(x);%将语音信号长度赋给变量N

n=220;%对语音信号进行分帧,帧长为220

n1=160;%帧移为160

frame=floor((N-n)/(n-n1));%将分帧数赋给变量frame

%frame=floor(N/n);

for i=1:frame

y1=x((i-1)*(n-n1)+1:(i-1)*(n-n1)+n).*hamming(n);

%对每段分帧进行加窗处理

fy=fft(y1,n);

nen(i,:)=abs(fy).^2;% 将频域信号功率赋给矩阵变量nen

ang(i,:)=angle(fy);%将频域信号的相位角赋给矩阵变量ang

end

yuzhi=sum(sum(nen(2:5,:)))/(4*n);

for i=1:frame

nen(i,:)=nen(i,:)-yuzhi;

nen(i,find(nen(i,:)<0))=0;

%chuli=nen(i,1:n/2);

%chuli=chuli-yuzhi;

%chuli(find(chuli<0))=0;

%nen(i,:)=[chuli,fliplr(chuli)];

% nen(i,:)=filter(1,[0.5 0.5],nen(i,:));

% nen(i,find(nen(i,:)<0))=0;

end

for i=1:frame

nen(i,:)=sqrt(nen(i,:));%将纯语音功率谱开根,得到频域值

jie=nen(i,:).*exp(j*ang(i,:));

out(i,:)=real(ifft(jie))/hamming(n)'; %对纯语音频谱进行逆傅里叶变换,并取其实部,并进行去窗处理

end

zong=out(1,:)';%将第一帧中未重叠部分记入数组zong

jiewei=n;

for i=2:frame

zong(jiewei-n1+1:jiewei)

=(zong(jiewei-n1+1:jiewei)+out(i,1:n1)')/2;

jiewei=jiewei+n-n1;% 使指针jiewei依次指向下一帧的帧尾

zong=[zong;out(i,n1+1:end)'];将从第二帧开始的每一帧中未重叠部分记入数组zong

end

%zong=out(1,:)';

%for i=2:frame

%zong=[zong;out(i,:)'];

%end

%

%for i=1:frame

% zong=[zong,nen(i,:)'];

% zong(i*(n-n1)+1:(i-1)*(n-n1)+n)

=zong(i*(n-n1)+1:(i-1)*(n-n1)+n)/2;

figure(1); %创建图1

subplot(211); %把图形窗口分成2*1个小窗口,取第1个小窗口

plot(x);%以数组x绘图基本二维曲线

axis([1,(n-n1)*frame+n,min(x),max(x)]);% 对当前二维图形对象的X轴和Y轴进行标定,x 轴的范围为1到最后一个分帧结尾,y轴的范围为带噪语音时域最小值到最大值

subplot(212); %把图形窗口分成2*1个小窗口,取第2个小窗口

specgram(x,fs,1024,n,n1);%画出语音的语谱图

figure(2); %创建图2

subplot(211); %把图形窗口分成2*1个小窗口,取第1个小窗口

plot(zong); %以数组zong绘图基本二维曲线

axis([1,(n-n1)*frame+n,min(zong),max(zong)]); % 对当前二维图形对象的X轴和Y轴进行标定,x轴的范围为1到最后一个分帧结尾,y轴的范围为纯语音时域最小值到最大值subplot(212); %把图形窗口分成2*1个小窗口,取第2个小窗口

specgram(zong,fs,1024,n,n1); %画出语音的语谱图

wavplay(x,fs);%播放单声道带噪语音音频

wavplay(zong,fs);%播放单声道纯净语音音频

用频谱分析仪测量通信信号

用频谱分析仪测量通信信号 一、GSM信号的测量 现代高度发达的通信技术可以让人们在地球的任意地点控制频谱分析仪,因此就更要懂得不同参数设置和不同信号条件对显示结果的影响。 典型的全球移动通信系统(GSM)的信号测量如图1所示,它清楚地标明了重要的控制参数设置和测量结果。IFR2399型频谱分析仪利用彩色游标来加亮测量区域,此例中,被加亮的测量区域是占用信道和上下两个相邻信道的中心50kHz频带。 显示的水平轴(频率轴)中心频率为900MHz,扫频频宽为1MHz,而每一小格代表l00kHz。顶部水平线表示0dBm,垂直方向每一格代表10dB。信号已经被衰减了10dB,测量显示的功率电平已考虑了此衰减。 图1 GSM信道带宽显示和功率测量 GSM是以两个25MHz带宽来传送的:从移动发射机到基站采用890MHz到915MHz,从基站到移动接收机采用935MHz到960MHz。这个频带被细分为多个200kHz信道,而第50个移动发送信道的中心频率为900MHz,如图1所示。该信号很明显是未调制载波,因为它的频谱很窄。实际运用中,一个GSM脉冲串只占用200kHz稍多一点的信道带宽。 按照GSM标准,在发送单个信道脉冲串时,时隙持续0.58ms,而信道频率以每秒217次的变化速率进行慢跳变,再加上扫频仪1.3s的扫描时间,根据这些条件可以判定这是一个没有时间和频率跳变的静态测试,没有迹象表明900阳z的信号是间断信号。 为了保证良好的清晰度,选用1kHz的分辨带宽(RBW)滤波器。较新的频谱分析仪中的模拟滤波器的形状系数(3dB:60dB)为11,意思是60dB时滤波器带宽(从峰值衰减60dB)是3dB时滤波器带宽(从峰值衰减3dB)的11倍,即11kHz比1kHz。 与此相比,数字滤波器的形状系数还不到5。例如一个3dB带宽为50kHz的带通滤波器,其60dB带宽只有60kHz,这几乎是矩形通带。它保证在计算平均功率时只含有50kHz以外区域很小一点的功率。作为对比,如果分辨带宽RBW50kHz,使用前面提及的模拟滤波器而不是数字滤波器,其60dB带宽将为550kHz。 标记1处的信号电平是4.97dBm。为了使噪声背景出现在屏幕上,显示轨迹线已向上偏移了10dB(在图中不易察觉),这是由于信号峰值被预先衰减10dB使其不超过顶部水平线,这也是信号峰值读数比参考电平高的原因。 图中,主信道功率(CHP)读数为7.55dBm,与峰值(标记1处)的读数4.978m不一致,其原因就是主信道功率是在50kHz测量带宽内计算的,而标记1的读数是峰值。公式1定义了在整个带宽内计算主信道功率的方法。 其中, CHPwr:信道功率,单位dBm CHBW:信道带宽 Kn:噪声带宽与分辨带宽之比 N:信道内象素的数目 Pi:以1mW为基准的电平分贝数(dBm)

基于matlab的语音信号的采集与处理

文档从互联网中收集,已重新修正排版,word格式支持编辑,如有帮助欢迎下载支持。 目录 第1章前言 ................................................................................................... 错误!未定义书签。第2章语音信号分析处理的目的和要求 ................................................... 错误!未定义书签。 2.1MATLAB软件功能简介................................................................. 错误!未定义书签。 2.2课程设计意义 .................................................................................. 错误!未定义书签。第3章语音信号的仿真原理..................................................................... 错误!未定义书签。第4章语音信号的具体实现..................................................................... 错误!未定义书签。 4.1语音信号的采集................................................................................ 错误!未定义书签。 4.2语音信号加噪与频谱分析................................................................ 错误!未定义书签。 4.3设计巴特沃斯低通滤波器................................................................ 错误!未定义书签。 4.4用滤波器对加噪语音滤波................................................................ 错误!未定义书签。 4.5比较滤波前后语音信号波形及频谱................................................ 错误!未定义书签。第5章总结................................................................................................... 错误!未定义书签。参考文献......................................................................................................... 错误!未定义书签。附录................................................................................................................. 错误!未定义书签。

应用Matlab对含噪声语音信号进行频谱分析及滤波

应用Matlab对含噪声的语音信号进行频谱分析及滤波 一、实验内容 录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;在语音信号中增加正弦噪声信号(自己设置几个频率的正弦信号),对加入噪声信号后的语音信号进行频谱分析;给定滤波器的性能指标,采用窗函数法和双线性变换设计数字滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比试听,分析信号的变化。 二、实现步骤 1.语音信号的采集 利用Windows下的录音机,录制一段自己的话音,时间在1 s内。然后在Matlab软件平台下,利用函数wavread对语音信号进行采样,(可用默认的采样频率或者自己设定采样频率)。 2.语音信号的频谱分析 要求首先画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性。 在采集得到的语音信号中加入正弦噪声信号,然后对加入噪声信号后的语音号进行快速傅里叶变换,得到信号的频谱特性。并利用sound试听前后语音信号的不同。

分别设计IIR和FIR滤波器,对加入噪声信号的语音信号进行去噪,画出并分析去噪后的语音信号的频谱,并进行前后试听对比。 3.数字滤波器设计 给出数字低通滤波器性能指标:如,通带截止频率fp=10000 Hz,阻带截止频率fs=12000 Hz(可根据自己所加入噪声信号的频率进行阻带截止频率设置),阻带最小衰减Rs=50 dB,通带最大衰减Rp=3 dB(也可自己设置),采样频率根据自己语音信号采样频率设定。

报告内容 一、实验原理 含噪声语音信号通过低通滤波器,高频的噪声信号会被过滤掉,得到清晰的无噪声语音信号。 二、实验内容 录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;在语音信号中增加正弦噪声信号(自己设置几个频率的正弦信号),对加入噪声信号后的语音信号进行频谱分析;给定滤波器的性能指标,采用窗函数法和双线性变换设计数字滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比试听,分析信号的变化。给出数字低通滤波器性能指标:如,通带截止频率fp=10000 Hz,阻带截止频率fs=12000 Hz (可根据自己所加入噪声信号的频率进行阻带截止频率设置),阻带最小衰减Rs=50 dB,通带最大衰减Rp=3 dB(也可自己设置),采样频率根据自己语音信号采样频率设定。 三、实验程序 1、原始信号采集和分析 clc;clear;close all; fs=10000; %语音信号采样频率为10000 x1=wavread('C:\Users\acer\Desktop\voice.wav'); %读取语音信号的数据,赋给x1 sound(x1,40000); %播放语音信号 y1=fft(x1,10240); %对信号做1024点FFT变换 f=fs*(0:1999)/1024; figure(1); plot(x1) %做原始语音信号的时域图形 title('原始语音信号'); xlabel('time n'); ylabel('fuzhi n'); figure(2); plot(f,abs(y1(1:2000))); %做原始语音信号的频谱图形 title('原始语音信号频谱') xlabel('Hz'); ylabel('fuzhi');

对正弦信号的采样频谱分析.doc

H a r b i n I n s t i t u t e o f T e c h n o l o g y 课程设计 课程名称:课程设计2 设计题目:对正弦信号的抽样频谱分析院系:电子与信息工程学院 班级:0805203 设计者:褚天琦 学号:1080520314 指导教师:郑薇 设计时间:2011-10-15 哈尔滨工业大学

一、题目要求: 给定采样频率fs,两个正弦信号相加,两信号幅度不同、频率不同。要求给定正弦信号频率的选择与采样频率成整数关系和非整数关系两种情况,信号持续时间选择多种情况分别进行频谱分析。 二、题目原理与分析: 本题目要对正弦信号进行抽样,并使用fft对采样信号进行频谱分析。因此首先对连续正弦信号进行离散处理。实际操作中通过对连续信号间隔相同的抽样周期取值来达到离散化的目的。根据抽样定理,如果信号带宽小于奈奎斯特频率(即采样频率的二分之一),那么此时这些离散的采样点能够完全表示原信号。高于或处于奈奎斯特频率的频率分量会导致混叠现象。设抽样周期为TS(抽样角频率为ωS),则 可见抽样后的频谱是原信号频谱的周期性重复,当信号带宽小于奈奎斯特频率的二分之一时不会产生频谱混叠现象。 因此,我们对采样频率的选择采取fs>2fo,fs=2fo,fs<2fo三种情况进行分析。对信号采样后,使用fft函数对其进行频谱分析。为了使频谱图像更加清楚,更能准确反映实际情况并接近理想情况,我们采用512点fft。取512点fft不仅可以加快计算速度,而且可以使频谱图更加精确。若取的点数较少,则会造成频谱较大的失真。 三、实验程序: 本实验采用matlab编写程序,实验中取原信号为 ft=sin(2πfXt)+2sin(10πfXt),取频率f=1kHz,实验程序如下: f=1000;fs=20000;Um=1; N=512;T=1/fs; t=0:1/fs:0.01; ft=Um*sin(2*pi*f*t)+2*Um*sin(10*pi*f*t); subplot(3,1,1); plot(t,ft);grid on; axis([0 0.01 1.1*min(ft) 1.1*max(ft)]); xlabel('t'),ylabel('ft'); title('抽样信号的连续形式'); subplot(3,1,2); stem(t,ft);grid on; axis([0 0.01 1.1*min(ft) 1.1*max(ft)]); xlabel('t'),ylabel('ft');

实验报告三.信号的频谱分析

实验三 信号的频谱分析 时间:第 周 星期 节 课号: 院系专业: 姓名: 学号: 座号: ============================================================================================ 一、实验目的 1、观测周期矩形脉冲的频谱特性; 2、掌握对信号振幅频谱的顺序分析法——外差法; 二、实验预习 1、占空比%100%100??=?= f T ττ ,其中τ是正脉冲信号的脉冲宽度。 2、熟悉实验指导书第20页图1-26外差法原理 a 、()t f sn 为被测的矩形脉冲信号(矩形脉冲信号的频率为f ),其中包含的基波分量的频率为 ;二次谐波的频率为 ;n 次谐波的频率为 ; b 、L f 为本振信号(是一个正弦波)。为保证被测信号()t f sn 和本振信号通过混频器后的差频信号的频率为1KHz 。L f 的频率为 。 三、实验内容 (一) 测试KHz f 20=,脉宽s μτ10=,幅度为mv 800峰峰值的矩形正脉冲的频谱。 1、在实验箱上接好线路(注意正负12伏电源均接上) 2、输入信号的设置: )(t f sn :mv KHz f 800V s 1020P -P S ===,,μτ的正脉冲,由信号源A 路输出。 L f :其频率先从KHz 21开始,依次改变至KHz 41,KHz 61,……KHz 201,其幅度均为 成 绩 指导教师 批阅日期 t T τ

mv V P P L 600=-的正弦信号,由信号源B 路输出。 3、在L f (由信号源B 路输出)各频率点附近进行微调,使示波器上显示的输出波形最好,波形的峰峰值为最大; 记下此时信号源B 路输出频率值(即L f 实测值)和示波器上波形的峰峰值。完成表1-3-1内容的测试。 表格中:sn f 为L f 实测值减KHz 1的频率值。n C 为示波器上对应于各频率分量的峰峰值。 (二) 测试KHz f 100=,脉宽s μτ2=,幅度为mv 800峰峰值的矩形正脉冲的频谱。完成表1-3-2内容的测试。 表1-3-1 L f 理论值 (KHz ) L f 实测值(KHz ) (KHz)sn f (mv) n C 表1-3- 2 L f 理论值 (KHz ) L f 实测值(KHz ) (KHz)sn f (mv) n C 4、实验过程中的故障现象及解决方法。

周期矩形信号的频谱分析

1.周期信号的频谱 周期信号在满足一定条件时,可以分解为无数三角信号或指数之和。这就是周期信号的傅里叶级数展开。在三角形式傅里叶级数中,各谐波分量的形式为()1cos n n A n t ω?+;在指数形式傅里叶级数中,分量的形式必定为1j n t n F e ω 与1-j -n t n F e ω 成对出现。为了把周期信号所具有的各 次谐波分量以及各谐波分量的特征(如模、相角等)形象地表示出来,通常直接画出各次谐波的组成情况,因而它属于信号的频域描述。 以周期矩形脉冲信号为lifenxi 周期信号频谱的特点。周期矩形信号在一个周期(-T/2,T/2)内的时域表达式为 ,2 0,>2 ()A t T t f t ττ ≤?=?? (2-6) 其傅里叶复数系数为 12 n n A F Sa T ωττ?? = ??? (2-7) 由于傅里叶复系数为实数,因而各谐波分量的相位为零(n F 为正)或为π±(n F 为负),因此不需要分别画出幅度频谱n F 与相位频谱n φ。可以直接画出傅里叶系数n F 的分布图。 如图2.4.1所示。该图显示了周期性矩形脉冲信号()T f t 频谱的一些性质,实际上那个也是周期性信号频谱的普遍特性: ① 离散状频谱。即谱线只画出现在1ω的整数倍频率上,两条谱线的间隔为1ω(等于2π/t )。 ② 谱线宽度的包络线按采样函数()1/2a S n ωτ的规律变化。如图2.4.2所示。但1ω 为 2π τ 时,即( )2m π ωτ =(m=1,2,……)时,包络线经过零点。在两相邻 零点之间,包络线有极值点,极值的大小分别为-0.212()2A T τ,

应用matlab对语音信号进行频谱分析及滤波.

数字信号处理 —综合实验报告 综合实验名称:应用MatLab对语音信号进行 频谱分析及滤波 系: 学生姓名: 班级: 学号: 成绩: 指导教师: 开课时间学年学期

目录 一.综合实验题目 (1) 二、综合实验目的和意义 (1) 2.1 综合实验目的 (1) 2.2 综合实验的意义 (1) 三.综合实验的主要内容和要求 (1) 3.2 综合实验的要求: (2) 四.实验的原理 (2) 4.1 数字滤波器的概念 (2) 4.2 数字滤波器的分类 (2) (1)根据单位冲激响应h(n)的时间特性分类 (2) 五.实验的步骤 (3) 下面对各步骤加以具体说明。 5.1语音信号的采集 (3) 5.2 语音信号的频谱分析; (3) 5.3 设计数字滤波器和画出其频率响应 (5) 5.3.1设计数字滤波器的性能指标: (5) 5.3.2 用Matlab设计数字滤波器 (6) 5.6 设计系统界面 (19) 六、心得体会 (20) 参考文献: (21)

一.综合实验题目 应用MatLab对语音信号进行频谱分析及滤波 二、综合实验目的和意义 2.1 综合实验目的 为了巩固所学的数字信号处理理论知识,使学生对信号的采集、处理、传输、显示和存储等有一个系统的掌握和理解,再者,加强学生对Matlab软件在信号分析和处理的运用 综合运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应结论,再利用 MATLAB 作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。 2.2 综合实验的意义 语言是我们人类所特有的功能,它是传承和记载人类几千年文明史,没有语言就没有我们今天人类的文明。语音是语言最基本的表现形式,是相互传递信息最重要的手段,是人类最重要、最有效、最常用和最方便的交换信息的形式。 语音信号处理属于信息科学的一个重要分支,大规模集成技术的高度发展和计算机技术的飞速前进,推动了这一技术的发展;它是研究用数字信号处理技术对语音信号进行处理的一门新兴学科,同时又是综合性的多学科领域和涉及面很广的交叉学科,因此我们进行语言信号处理具有时代的意义。 三.综合实验的主要内容和要求 3.1综合实验的主要内容: 录制一段个人自己的语音信号,并对录制的信号进行采样;画出采样后语音信号的时域波形和频谱图;给定滤波器的性能指标,采用窗函数法和双线性变换设计滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;回放语音信号;综合实验应完成的工作: (1)语音信号的采集; (2)语音信号的频谱分析;

用FFT对信号作频谱分析 实验报告

实验报告 实验三:用FFT 对信号作频谱分析 一、 实验目的与要求 学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便正确应用FFT 。 二、 实验原理 用FFT 对信号作频分析是学习数字信号处理的重要内容,经常需要进行分析的信号是模拟信号的时域离散信号。对信号进行谱分析的重要问题是频谱分辨率D 和分析误差。频谱分辨率直接和FFT 的变换区间N 有关,因为FFT 能够实现的频率分辨率是2π/N ,因此要求2π/N 小于等于D 。可以根据此式选择FFT 的变换区间N 。误差主要来自于用FFT 作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N 较大时,离散谱的包络才能逼近连续谱,因此N 要适当选择大一些。 三、 实验步骤及内容(含结果分析) (1)对以下序列进行FFT 分析: x 1(n)=R 4(n) x 2(n)= x 3(n)= 选择FFT 的变换区间N 为8和16两种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比较。 【实验结果如下】: n+1 0≤n ≤3 8-n 4≤n ≤7 0 其它n 4-n 0≤n ≤3 n-3 4≤n ≤7 0 其它 n

实验结果图形与理论分析相符。(2)对以下周期序列进行谱分析: x4(n)=cos[(π/4)*n]

x5(n)= cos[(π/4)*n]+ cos[(π/8)*n] 选择FFT的变换区间N为8和16两种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比较。 【实验结果如下】: (3)对模拟周期信号进行频谱分析: x6(n)= cos(8πt)+ cos(16πt)+ cos(20πt) 选择采样频率Fs=64Hz,FFT的变换区间N为16、32、64三种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比较。 【实验结果如下】:

频谱分析仪和信号分析仪的区别

在实验室和车间最常用的信号测试仪器是电子示波器。人的思维对时间概念比较敏感,每时每刻都与时域事件发生联系,但是信号往往以频率形式出现,用示波器观察最简单的调幅载波信号也不方便,往往显示载波时看不清调制仪,屏幕上获得的是三条谱线,即载频和在载频左右的调制频。调制方式越复杂,电子示波器越难显示,频谱分析器的表达能力强,频谱分析仪是名副其实的频域仪器的代表。沟通时间一频率的数字表达方法就是傅里叶变换,它把时间信号分解成正弦和余弦曲线的叠加,完成信号由时间域转换到频率域的过程。 早期的频谱分析仪实质上是一台扫频接收机,输入信号与本地振荡信号在混频器变频后,经过一组并联的不同中心频率的带通滤波器,使输入信号显示在一组带通滤波器限定的频率轴上。显然,由于带通滤波器由无源元件构成,频谱分析器整体上显得很笨重,而且频率分辨率不高。既然傅里叶变换可把输入信号分解成分立的频率分量,同样可起着滤波器类似的作用,借助快速傅里叶变换电路代替低通滤波器,使频谱分析仪的构成简化,分辨率增高,测量时间缩短,扫频范围扩大,这就是现代频谱分析仪的优点了。 矢量信号分析仪是在预定,频率范围内自动测量电路增益与相应的仪器,它有内部的扫频频率源或可控制的外部信号源。其功能是测量对输入该扫频信号的被测电路的增益与相位,因而它的电路结构与频谱分析仪相似。频谱分析仪需要测量未知的和任意的输入频率,矢量信号分析仪则只测量自身的或受控的已知频率;频谱分析仪只测量输入信号的幅度(标量仪器),矢量信号分析仪则测量输入信号的幅度和相位(矢量仪器)。由此可见,矢量信号分析仪的电路结构比频谱分析仪复杂,价位也较高。现代的矢量信号分析仪也采用快速傅里叶变换,以下介绍它们的异同。 频谱分析议和FFT颁谱分析议 传统的频谱分析仪的电路是在一定带宽内可调谐的接收机,输入信号经下变频后由低通滤器输出,滤波输出作为垂直分量,频率作为水平分量,在示波器屏幕上绘出坐标图,就是输入信号的频谱图。由于变频器可以达到很宽的频率,例如30Hz-30GHz,与外部混频器配合,可扩展到100GHz以上,频谱分析仪是频率覆盖最宽的测量仪器之一。无论测量连续信号或调制信号,频谱分析仪都是很理想的测量工具。 但是,传统的频谱分析仪也有明显的缺点,首先,它只适于测量稳态信号,不适宜测量瞬态事件;第二,它只能测量频率的幅度,缺少相位信息,因此属于标量仪器而不是矢量仪器;第三,它需要多种低频带通滤波器,获得的测量结果要花费较长的时间,因此被视为非实时仪器。 既然通过傅里叶运算可以将被测信号分解成分立的频率分量,达到与传统频谱分析仪同样的结果,出现基于快速傅里叶变换(F盯)的频谱分析仪。这种新型的频谱分析仪采用数字方法直接由模拟/数字转换器(ADC)对输入信号取样,再经FFT处理后获得频谱分布图。据此可知,这种频谱分析仪亦称为实时频谱分析仪,它的频率范围受到ADC采集速率和FFT运算速度的限制。

基于Matlab语音信号的采集与分析

基于MATLAB 的语音信号分析和处理 【摘要】: 本文通过用三星手机系统自带录音机采集了一段语音,wav格式转换后再Matlab平台上对其进行了时域分析,频谱分析,分析语音信号的特性。利用函数对采样频率进行控制,比较其波形。通过对两段铃声(分别为男声、女声)进行分析初步找出男声女声的特点和区别。应用Matlab平台对录制的语音信号加入噪声,对比加噪前后的语音信号的时域和频域特性,回放加噪语音信号。 【关键词】: 语音信号;频域特性; 时域特性; 滤波器

目录 一、背景介绍 1.1 语音信号的概述 1.2 语音信号处理工具的选择 二、语音信号的录制采集和分析 2.1 语音信号的采集 2.2 语音信号的读入与打开 2.3 取不同采样频率得出的波形比较 三、对男声、女声语音信号特点的分析 3.1女声(vfemale.wav)男声(vmale.wav)的时域分析

3.2女声(vfemale.wav)男声(vmale.wav)的频域分析 四、加噪声与滤波处理分析 4.1 高斯白噪声(SNR=30) 4.2 单频正弦噪声 五、心得与体会 一、背景介绍 1.1语音信号的概述 语言是人类创造的,是人类区别于其他地球生命的本质特征之一。人类用语言交流的过程可以看成是一个复杂的通信过程,为了获取便于分析和处理的语音信源,必须将在空气中传播的声波转变为包含语音信息并且记载着声波物理性质的模拟(或数字)电信号,即语音信号,因此语音信号就成为语音的表现形式或载体。 1.2语音信号处理工具的选择 语音信号的进一步处理分析工作选用了Matlab平台。Matlab是一种科学计算软件,专门以矩阵的形式处理数据。Matlab将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,不断完善Matlab产品以提高产品自身的竞争能力Matlab的数据分析和处理功能十分强大,运用它来

音频信号的谱分析及去噪

课程设计任务书 课程设计学生日志

课程设计考勤表 课程设计评语表

音频信号的谱分析及去噪 一、研究背景:……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 二、设计方案…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………

三、设计目的和意义 通过MATLAB编程,用FFT函数绘制出音频信号的频谱。用噪音去干扰音频信号,画出干扰后信号的频谱。这样观察对比,便可分析出噪声对音频信号的干扰。主要目的是通过设计FIR 数字滤波器滤除噪音信号,体会滤波器可提取有用信号消除干扰的作用。去噪,可以减少或消除信号传输过程中的干扰,从而达到有效传输。…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 四、设计原理 1、FFT原理:运用快速傅里叶变换得信号的频谱,快速傅里叶变换是可以用计

算机编程实现的一种快速求得信号频谱的方法。在MATLAB 编程中可以直接调用FFT 函数。 2、FIR 数字滤波器的设计步骤: 1)将给定的数字滤波器性能指标转化成相应的模拟滤波器性能指标。 2)将模拟滤波器的性能指标变换成模拟低通滤波器的性能指标。 3)用所得的模拟低通滤波器的性能指标,利用某种模拟滤波器逼近方法,设计得出该滤波器。 低通滤波器的频率响应: 设计滤波器时主要考虑四个指标:通带截止频率、阻带起始频率、通带衰减、阻带衰减。 五、 详细设计步骤 1. 用Windows 附件中的录音机录制了一段歌曲,并且由MATLAB 中的FFT 函数绘制出它的频谱图和时域波形。 N=1024;%采样点数 fs=20000; %语音信号采样频率为20000 [x0,fs,NBTS]=wavread('d:\输入噪声\ly.wav'); % ly 为原始语音信号 [m0,n0]=size(x0); x0=wavread('d:\ 输 入 噪 声 \ly.wav'); %读取音频信号 sound(x0,fs); %播放音频信号 figure(1) 阻带 过渡带 通带

信号的频谱分析及MATLAB实现

第23卷第3期湖南理工学院学报(自然科学版)Vol.23 No.3 2010年9月 Journal of Hunan Institute of Science and Technology (Natural Sciences) Sep. 2010信号的频谱分析及MATLAB实现 张登奇, 杨慧银 (湖南理工学院信息与通信工程学院, 湖南岳阳 414006) 摘 要: DFT是在时域和频域上都已离散的傅里叶变换, 适于数值计算且有快速算法, 是利用计算机实现信号频谱分析的常用数学工具. 文章介绍了利用DFT分析信号频谱的基本流程, 重点阐述了频谱分析过程中误差形成的原因及减小分析误差的主要措施, 实例列举了MATLAB环境下频谱分析的实现程序. 通过与理论分析的对比, 解释了利用DFT分析信号频谱时存在的频谱混叠、频谱泄漏及栅栏效应, 并提出了相应的改进方法. 关键词: MA TLAB; 频谱分析; 离散傅里叶变换; 频谱混叠; 频谱泄漏; 栅栏效应 中图分类号: TN911.6 文献标识码: A 文章编号: 1672-5298(2010)03-0029-05 Analysis of Signal Spectrum and Realization Based on MATLAB ZHANG Deng-qi, YANG Hui-yin (College of Information and Communication Engineering, Hunan Institute of Science and Technology, Yueyang 414006, China) Abstract:DFT is a Fourier Transform which is discrete both in time-domain and frequency-domain, it fits numerical calculation and has fast algorithm, so it is a common mathematical tool which can realize signal spectrum analysis with computer. This paper introduces the basic process of signal spectrum analysis with DFT, emphasizes the causes of error producing in spectrum analysis process and the main ways to decrease the analysis error, and lists the programs of spectrum analysis based on MATLAB. Through the comparison with the theory analysis, the problems of spectrum aliasing, spectrum leakage and picket fence effect are explained when using DFT to analyze signal spectrum, and the corresponding solution is presented. Key words:MATLAB; spectrum analysis; DFT; spectrum aliasing; spectrum leakage; picket fence effect 引言 信号的频谱分析就是利用傅里叶分析的方法, 求出与时域描述相对应的频域描述, 从中找出信号频谱的变化规律, 以达到特征提取的目的[1]. 不同信号的傅里叶分析理论与方法, 在有关专业书中都有介绍, 但实际的待分析信号一般没有解析式, 直接利用公式进行傅里叶分析非常困难. DFT是一种时域和频域均离散化的傅里叶变换, 适合数值计算且有快速算法, 是分析信号的有力工具. 本文以连续时间信号为例, 介绍利用DFT分析信号频谱的基本流程, 重点阐述频谱分析过程中可能存在的误差, 实例列出MATLAB 环境下频谱分析的实现程序. 1 分析流程 实际信号一般没有解析表达式, 不能直接利用傅里叶分析公式计算频谱, 虽然可以采用数值积分方法进行频谱分析, 但因数据量大、速度慢而无应用价值. DFT在时域和频域均实现了离散化, 适合数值计算且有快速算法, 是利用计算机分析信号频谱的首选工具. 由于DFT要求信号时域离散且数量有限, 如果是时域连续信号则必须先进行时域采样, 即使是离散信号, 如果序列很长或采样点数太多, 计算机存储和DFT计算都很困难, 通常采用加窗方法截取部分数据进行DFT运算. 对于有限长序列, 因其频谱是连续的, DFT只能描述其有限个频点数据, 故存在所谓栅栏效应. 总之, 用DFT分析实际信号的频谱, 其结果必然是近似的. 即使是对所有离散信号进行DFT变换, 也只能用有限个频谱数据近似表示连续频 收稿日期: 2010-06-09 作者简介: 张登奇(1968? ), 男, 湖南临湘人, 硕士, 湖南理工学院信息与通信工程学院副教授. 主要研究方向: 信号与信息处理

信号频谱分析和测试

信号频谱分析和测 试 返回 一、实验室名称:虚拟仪器实验室 二、实验项目名称:信号频谱分析和测试 三、实验目的 1.了解周期函数的傅立叶变换理论及虚拟频谱分析仪的工作原理; 2.熟悉典型信号的波形和频谱特征,并能够从信号频谱中读取所需的信息。 四、实验内容 1.测量典型信号(正弦波、三角波、方波)的频谱并记录; 2.用实验平台的任意波形信号源产生一个任意信号,观察其频谱。 五、实验器材(设备、元器件): 1、计算机一台 2、SJ-8002B 电子测量实验箱一台 3、FG1617函数发生器一台 4、虚拟频谱分析仪程序 5、Q9线一条 六、实验原理 6.1 常见周期信号傅立叶展开公式与波形 1)方波 ,其中的 2)三角波 ,其中的 )7sin 715sin 513sin 31(sin 4)( +ω+ω+ ω+ωπ=t t t t A t f T π=ω2)7cos 4915sin 2513sin 91(sin 8)(2 +ω-ω+ω-ωπ=t t t t A t f T π=ω2

3)锯齿波 ,其中 6.2 信号的离散傅立叶变换(DFT ) x(t)经采样后变为x(nT ’),T ’为采样周期,采样频率fs=1/T ’。离散信号x(nT ’)的傅里 叶变换可以表示为: ,n=0,1,…N-1 X(k)是复数,信号的频谱是它的模,为了方便显示,做归一化处理,用 来表示频谱。 频率分辨率为: FFT 是DFT 的快速算法。 6.3 虚拟频谱分析仪 数字式虚拟频谱分析仪是通过A/D 采样器件,将模拟信号转换为数字信号,传给微处 理器系统或计算机来处理.在对交流信号的测量中,根据奈奎斯特采样定理,采样速率必须 是信号频率的两倍以上,采样频率越高,时间轴上的信号分辨力就越高,所获得的信号就越 接近原始信号,在频谱上展现的频带就越宽。 本频谱分析仪采用快速傅立叶变换的方法,分析信号中所含各个频率份量的幅值。其构 成框图如图4所示: 图4频谱分析仪框图 七、实验步骤 7.1 测量典型信号(正弦波、三角波、方波)的频谱 (1) 准备工作:用Q9线连接信号发生器与实验平台的Ain1端,并用EPP 排线连接实 验平台和计算机之间的EPP 接口,最后打开电源.。信号发生器产生一个频率为10K ,峰峰 值为3V 左右的正弦波,启动实验平台配套的频谱分析软件,观察波形显示并作图。 (2)由信号源产生一个频率为10KHz ,峰值为3V 的正弦波,用数字频谱分析仪对该信 号进行频谱测量,幅度刻度方式设为线性刻度,不加窗函数,起始频率为0Hz ,结束频率为 100KHz ,Y 线性参考电压为2V ,将测量结果填入表1,并计算出频谱的理论值填入表1。 )4sin 413sin 312sin 21(sin 2)( +ω+ω+ω+ωπ+= t t t t A A t f T π=ω2()()N nk j N n e n x k X /210π--=∑=N k X )(f ?N f f s =?N kf k f f s k =??=

对语音信号进行分析及处理资料

一、设计目的 1.进一步巩固数字信号处理的基本概念、理论、分析方法和实现方法;使自身对信号的采集、处理、传输、显示和存储等有一个系统的掌握和理解; 2.增强应用Matlab语言编写数字信号处理的应用程序及分析、解决实际问题的能力; 3.培养自我学习的能力和对相关课程的兴趣; 二、设计过程 1、语音信号的采集 采样频率,也称为采样速度或者采样率,定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。 采样位数可以理解为声卡处理声音的解析度。这个数值越大,解析度就越高,录制和回放的声音就越真实 采样定理又称奈奎斯特定理,在进行模拟/数字信号的转换过程中,当采样频率fs不小于信号中最高频率fm的2倍时,采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5~10倍。 利用Windows下的录音机,录制了一段发出的声音,内容是“数字信号”,时间在3 s内。接着在D盘保存为WAV格式,然后在Matlab软件平台下.利用函数wavread对语音信号进行采样,并记录下了采样频率和采样点数,在这里我们还通过函数sound引入听到采样后自己所录的一段声音。 [x1,fs,bits]=wavread('E:\数字信号.wav'); %读取语音信号的数据,赋给变量x1,返回频率fs 44100Hz,比特率为16 。 2 、语音信号的频谱分析 (1)首先画出语音信号的时域波形; 程序段: x=x1(60001:1:120000); %截取原始信号60000个采样点

plot(x) %做截取原始信号的时域图形 title('原始语音采样后时域信号'); xlabel('时间轴 n'); ylabel('幅值 A'); (2)然后用函数fft 对语音号进行快速傅里叶变换,得到信号的频谱特性; y1=fft(x,6000); %对信号做N=6000点FFT 变换 figure(2) subplot(2,1,1),plot(k,abs(y1)); title('|X(k)|'); ylabel('幅度谱'); subplot(2,1,2),plot(k,angle(y1)); title('arg|X(k)|'); ylabel('相位谱'); (3)产生高斯白噪声,并且对噪声进行一定的衰减,然后把噪声加到信号中,再次对信号进行频谱特性分析,从而加深对频谱特性的理解; d=randn(1,60000); %产生高斯白噪声 d=d/100; %对噪声进行衰减 x2=x+d; %加入高斯白噪声 3、设计数字滤波器 (1)IIR 低通滤波器性能指标通带截止频Hz f c 1000=,阻带截止频率 Hz f st 1200=,通带最大衰减dB 11=δ,阻带最小衰减dB 1002=δ。 (2)FIR 低通滤波器性能指标通带截止频率Hz f c 1000=,阻带截止频率 Hz f st 1200=, 通带衰减1δ≤1dB ,阻带衰减 2δ≥ 100dB 。 (3)IIR 高通滤波器的设计指标,Hz f z 1000=,Hz f p 2000=,阻带最小衰减dB A s 30=,通带最大衰减dB A P 1=。 (4)(4)FIR 高通滤波器的设计指标,Hz f z 1000=,Hz f p 2000=,阻带最小衰减dB A s 50=,通带最大衰减dB A P 1=。 (5)用自己设计的各滤波器分别对采集的信号进行滤波,在Matlab 中,FIR 滤波器利用函数fftfilt 对信号进行滤波,IIR 滤波器利用函数filter 对信号进行滤波。比较滤波前后语音信号的波形及频谱,在一个窗口同时画出滤波前后

实验:典型信号频谱分析报告

实验3.2 典型信号频谱分析 一、 实验目的 1. 在理论学习的基础上,通过本实验熟悉典型信号的波形和频谱特征,并 能够从信号频谱中读取所需的信息。 2. 了解信号频谱分析的基本方法及仪器设备。 二、 实验原理 1. 典型信号及其频谱分析的作用 正弦波、方波、三角波和白噪声信号是实际工程测试中常见的典型信号,这些信号时域、频域之间的关系很明确,并且都具有一定的特性,通过对这些典型信号的频谱进行分析,对掌握信号的特性,熟悉信号的分析方法大有益处,并且这些典型信号也可以作为实际工程信号分析时的参照资料。本次实验利用DRVI 快速可重组虚拟仪器平台可以很方便的对上述典型信号作频谱分析。 2. 频谱分析的方法及设备 信号的频谱可分为幅值谱、相位谱、功率谱、对数谱等等。对信号作频谱分析的设备主要是频谱分析仪,它把信号按数学关系作为频率的函数显示出来,其工作方式有模拟式和数字式二种。模拟式频谱分析仪以模拟滤波器为基础,从信号中选出各个频率成分的量值;数字式频谱分析仪以数字滤波器或快速傅立叶变换为基础,实现信号的时—频关系转换分析。 傅立叶变换是信号频谱分析中常用的一个工具,它把一些复杂的信号分解为无穷多个相互之间具有一定关系的正弦信号之和,并通过对各个正弦信号的研究来了解复杂信号的频率成分和幅值。 信号频谱分析是采用傅立叶变换将时域信号x(t)变换为频域信号X(f),从而帮助人们从另一个角度来了解信号的特征。时域信号x(t)的傅氏变换为: 式中X(f)为信号的频域表示,x(t)为信号的时域表示,f 为频率。 3. 周期信号的频谱分析 周期信号是经过一定时间可以重复出现的信号,满足条件: dt e t x f X ft j ?+∞ ∞--=π2)()(

matlab声音信号频谱分析的课程设计

原语音信号 [y,fs,bits]=wavread('C:\Users\Administrator\Desktop\111.wav'); >> sound(y,fs,bits); >> n=length(y) n = 92611 >> Y=fft(y,n); >> subplot(2,1,1);plot(y); >> subplot(2,1,2);plot(abs(Y));

加噪声 >> [y,fs,bits]=wavread('C:\Users\Administrator\Desktop\111.wav'); >> sound(y,fs,bits); >> n=length(y) n = 92611 >> Noise=0.2*randn(n,2); >> s=y+Noise; >> sound(s) >> subplot(2,1,1); >> plot(s) >> S=fft(s); >> subplot(2,1,2); >> plot(abs(S)) >> title('加噪语音信号的频谱波形')

FIR 低通滤波器 fp=1000;fc=1200;As=100;Ap=1;fs=30000; >> wc=2*fc/fs;wp=2*fp/fs; >> N=ceil((As-7.95)/(14.36*(wc-wp)/2))+1; >> beta=0.1102*(As-8.7); >> Win=Kaiser(N+1,beta); b=fir1(N,wc,Win); >> freqz(b,1,512,fs); >> s_low=filter(b,1,s); >> plot(s_low);title('信号经过低通滤波器的时域图') >> S_low=fft(s_low,n); >> plot(abs(S_low));title('信号经过低通滤波的频谱') >> sound(s_low,fs,bits)

相关文档
最新文档