姓名:毛浩 学号:17029250003
【嵌牛导读】雷达信号的采集变换。
【嵌牛鼻子】信号采集处理
【嵌牛提问】雷达信号类型
【嵌牛正文】
@(实验一)[白噪声|频谱分析]
[TOC]
实验要求
采集语音信号,模拟不同白噪声(均匀、高斯、瑞利),信号混合,频谱分析
实验原理
采样定理
在进行模数信号转换过程中,当采样频率fs大于信号最高频率的两倍时,采样后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样率为信号最高频率的5-10倍。
白噪声
白噪声(white noise)是指功率谱密度在整个频域内是常数的噪声。 所有频率具有相同能量密度的随机噪声称为白噪声。
白噪声.jpg
均匀白噪声
是指功率谱密度在整个频域内是常数的噪声。 所有频率具有相同能量密度的随机噪声称为白噪声。
均匀白噪声.jpg
高斯白噪声
高斯白噪声是幅度统计规律服从高斯分布而功率谱为常数的噪声
高斯白噪声.jpg
瑞利白噪声
瑞利白噪声是幅度统计规律服从瑞利分布而功率谱为常数的噪声
瑞利白噪声.jpg
信噪比
信噪比是指信号最大幅值和噪声的最大幅值的比,用信号最大幅值除以噪声最大幅值所得结果即是。
实验过程
采集信号
使用audiorecorder函数,录音五秒的语音信号,再使用audiowrite(filename,y,Fs)函数,以采样率Fs将录制的语音信号y写入名为filename的文件中,由于语音信号的频谱主要集中在300-3400Hz的范围内,根据采样定理,选取采样率Fs为8kHz。
产生噪声
根据题目要求,利用rand、randn、raylrnd函数分别产生与语音信号等长度的均匀白噪声,高斯白噪声与瑞利白噪声。
杂波时域.png
杂波频域.png
信号分析
用plot函数绘制出加噪声后语音信号的时域波形;对语音信号进行N点的离散傅里叶变换,N为语音信号的长度,绘制出加噪声后语音信号的频谱图。
原始信号时频.jpg
如图所示,整段音频中声音的高低起伏与录入的声音信号基本一致,且频率主要集中在低频区
加均匀白噪声
加均匀.jpg加高斯白噪声
加高斯.jpg加瑞利白噪声
加瑞利.jpg实验结果分析
通过原始语音信号与加噪后语音信号时域波形与频谱图的对比,可以看出加噪声后的语音信号的时域波形比原始语音信号模糊很多,频谱图中,原始信号在高频几乎没有频谱成分,而加噪后信号在高频仍存在。
附录
杂波分析
fs=48000;
figure(1)
gnoes=normrnd(0,1,1,96255);
subplot(311);plot(gnoes,'m')
axis([0 96255 -6 6]);xlabel('高斯分布杂波');
ray=raylrnd(2,1,96255);
subplot(312);plot(ray,'c')
axis([0 96255 0 16]); xlabel('瑞利分布杂波')
unif=rand(1,96255);
subplot(313);plot(unif,'g')
axis([0 96255 0 2]); xlabel('均匀分布杂波');
figure(2)
NFFT=2^nextpow2(length(gnoes));
b_1=fft(gnoes,NFFT)/length(gnoes);
f=fs/2*linspace(0,1,NFFT/2+1);
subplot(311);plot(f,abs(b_1(1:NFFT/2+1)));
axis([0 length(f)/2 0 0.03]);xlabel('高斯分布杂波频谱');
b_2=fft(ray,NFFT)/length(ray);
subplot(312);plot(f,abs(b_2(1:NFFT/2+1)));
axis([0 length(f)/2 0 0.04]);xlabel('瑞利分布杂波频谱')
b_3=fft(unif,NFFT)/length(unif);
subplot(313);plot(f,abs(b_3(1:NFFT/2+1)));
axis([0 length(f)/2 0 0.01]);xlabel('均匀分布杂波频谱');
加噪信号分析
clear;
[y,fs]=audioread('C:\Users\XJH\Documents\work\voice.m4a');
sound(y,fs) % 回放语音信号
n=length(y); %选取变换的点数
y_p=fft(y,n); %对n点进行傅里叶变换到频域
f=fs*(0:n/2-1)/n; % 对应点的频率
figure(1)
subplot(2,1,1);
plot(y); %语音信号的时域波形图
title('原始语音信号采样后时域波形');
xlabel('时间轴')
ylabel('幅值 A')
subplot(2,1,2);
plot(f,abs(y_p(1:n/2))); %语音信号的频谱图
title('原始语音信号采样后频谱图');
xlabel('频率Hz');
ylabel('频率幅值');
L=length(y) ; %计算音频信号的长度
% %产生等长度的均匀白噪声
noise=0.3*rand(L,2);
% %产生等长度的高斯白噪声
% noise=0.05*randn(L,2);
% %产生等长度的瑞利白噪声
% B=1;
% noise=0.1*raylrnd(B,L,2);
y_z=y+noise; %叠加
pause(5)
sound(y_z,fs)
%对加噪后的语音信号进行分析
n=length(y); %选取变换的点数
y_zp=fft(y_z,n);
f=fs*(0:n/2-1)/n;
figure(2)
subplot(2,1,1);
plot(y_z); %加噪语音信号的时域波形图
title('加噪语音信号时域波形');
xlabel('时间轴')
ylabel('幅值 A')
subplot(2,1,2);
plot(f,abs(y_zp(1:n/2))); %加噪语音信号的频谱图
title('加噪语音信号频谱图');
xlabel('频率Hz');
ylabel('频率幅值');
axis([0 2.5e4 0 400]);
%FIR滤波器设计
fp=1500;fc=1700;As=100;Ap=1;
wc=2*pi*fc/fs; wp=2*pi*fp/fs;
wdel=wc-wp;
beta=0.112*(As-8.7);
N=ceil((As-8)/2.285/wdel);
wn= kaiser(N+1,beta);
ws=(wp+wc)/2/pi;
b=fir1(N,ws,wn);
figure(3);
freqz(b,1);
title('低通滤波器的幅频图');
xlabel('频率');
ylabel('幅度');
%信号滤波
x=fftfilt(b,y_z);
X=fft(x,n);
figure(4);
subplot(2,2,1);plot(f,abs(y_zp(1:n/2)));
axis([0 4e4 0 400]);
title('滤波前信号的频谱');
subplot(2,2,2);plot(abs(X));
axis([0 4e4 0 400]);
title('滤波后信号频谱');
subplot(2,2,3);plot(y_z);
title('滤波前信号的波形')
subplot(2,2,4);plot(x);
title('滤波后信号的波形')
pause(5);
sound(x,fs)
网友评论