MATLAB课程设计

发布 2022-10-01 01:42:28 阅读 3883

课程设计报告书。

2024年 7月 3日。

语音信号的采集与处理。

一、实践的目的和要求。

本次课程设计的课题为《基于matlab的语音信号采集与处理》,学会运用matlab的信号处理功能,采集语音信号,并对语音信号进行滤波及变换处理,观察其时域和频域特性,加深对信号处理理论的理解,并为今后熟练使用matlab进行系统的分析**和设计奠定基础。

此次实习课程主要是为了进一步熟悉对matlab软件的使用,以及学会利用matlab对声音信号这种实际问题进行处理,将理论应用于实际,加深对它的理解。

二、实践原理:

理论原理:利用matlab对语音信号进行分析和处理,采集语音信号后,利用matlab软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。语音信号的“ 短时谱”对于非平稳信号, 它是非周期的, 频谱随时间连续变化, 因此由傅里叶变换得到的频谱无法获知其在各个时刻的频谱特性。

如果利用加窗的方法从语音流中取出其中一个短断, 再进行傅里叶变换, 就可以得到该语音的短时谱。

课题要求:课题要求:

1、语音信号的采集。

利用windows下的录音机,录制一段自己的话音,时间在5s左右,然后在matlab软件平台下,利用函数w**read对语音信号进行采样,记住采样频率和采样点数。

(1)请每位同学都参与录音。分析鸽子语音信号时域信号的不同点。

(2)请录制两段**信号,期中一段为简单**信号,一段为和弦**信号。比较时域波形的不同。

2、语音信号的频谱分析。

在matlab中,可以利用函数fft对信号进行快速傅立叶变换,得到信号的频谱特性,要求学生首先画出语音信号的时域波形,然后对语音信号进行频谱分析。

程序:fs=44100;

x,fs,nbits] =w**read('c:\users\administrator\desktop\matlab\sw')

t=0:1/44100:(length(x)-1)/44100;

sound(x,fs对加载的语音信号进行回放。

figure(1)

plot(t,x做原始语音信号的时域图形。

title('原始语音信号');

xlabel('time n');

ylabel('fuzhi n');

n=length(x求出语音信号的长度。

y1=fft(x,n傅里叶变换。

w=1/n*[0:n-1]*fs

figure(2

plot(w,abs(y1做原始语音信号的fft频谱图。

title('原始语音信号fft频谱')

频谱分析对比:

简单**信号:

和弦**信号:

男生:女生:

3、理解傅立叶变换的性质

(1)对信号进行时域的尺度变换,抽取与插值,观察期品与众频谱的变化,回放语音信号,体会时域语音信号变化(实现慢录快放和快录慢放功能)。

在matlab中,函数sound可以对声音进行回放。其调用格式:sound(x,fs,bits);可以感觉滤波前后的声音变化。

程序:x,fs,nbits] =w**read('c:\users\administrator\desktop\matlab\sw')

t=0:1/fs:(length(x)-1)/fs;

a=1sound(x,a*fs对加载的语音信号进行回放。

pause(3)

a=2sound(x,a*fs) ;对加载的语音信号进行快发。

pause(3)

a=0.5sound(x,a*fs) ;对加载的语音信号进行慢放。

(2)信号的调制与解调(负责板块)

语音信号与高频正弦载波相调制,比较其频谱变化,回放信号,比较是与众语音信号变化。

将调制后的信号进行解调,回放信号,比较时域中语音信号变化。

本次课程设计我主要负责的是对载波信号的调制解调部分。

1、所谓调制,就是在传送信号的一方将所要传送的信号附加在高频振荡上,再由天线发射出去。这里高频振荡波就是携带信号的运载工具,也叫载波。振幅调制,就是由调制信号去控制高频载波的振幅,直至随调制信号做线性变化。

**性调制系列中,最先应用的一种幅度调制是全调幅或常规调幅,简称为调幅(am)。在频域中已调波频谱是基带调制信号频谱的线性位移;在时域中,已调波包络与调制信号波形呈线性关系。

设正弦载波为:c(t)=acos()

式中,a为载波幅度; 为载波角频率;为载波初始相位(假设 =0).

调制信号(基带信号)为m(t)。根据调制的定义,振幅调制信号(已调信号)一般可以表示为。

设调制信号的频谱为,则已调信号的频谱we为。

标准调幅波(am)产生原理:

调制信号是只来来自信源的调制信号(基带信号),这些信号可以是模拟的,亦可以是数字的。为首调制的高频振荡信号可称为载波,它可以是正弦波,亦可以是非正弦波(如周期性脉冲序列)。载波由高频信号源直接产生即可,然后经过高频功率放大器进行放大,作为调幅波的载波,调制信号由低频信号源直接产生,二者经过乘法器后即可产生双边带的调幅波。

设载波信号的表达式为,调制信号的表达式为,则调幅信号的表达式为。

2、解调。从高频已调信号中恢复出调制信号的过程称为解调(demodulation ),又称为检波(detection )。对于振幅调制信号,解调(demodulation )就是从它的幅度变化上提取调制信号的过程。

解调(demodulation )是调制的逆过程。

可利用乘积型同步检波器实现振幅的解调,让已调信号与本地恢复载波信号相乘并通过低通滤波可获得解调信号。

程序:clear;

dt=1/44100;

fs=44100;

f1,fs,nbits]=w**read('c:\users\administrator\desktop\matlab\sw');

figure(1);

subplot(2,1,1);

n=length(f1);

t=0:1/fs:(n-1)/fs;

plot(t,f1);

title('信息信号的时域波形');

fy1=fft(f1);

w1=0:fs/(n-1):fs;

subplot(2,1,2);

plot(w1,abs(fy1));

title('信息信号的频谱');

f2=cos(22000*pi*t);

figure(2);

subplot(2,1,1);

fy2 = fft(f2);

n2=length(f2);

w2=fs/n*[0:n-1];

plot(w2,abs(abs(fy2)))

title('载波信号的频谱');

f1=f1(:,1);

f3=f1'.*f2;

subplot(2,1,2);

fy3 = fft(f3);

plot(w1,abs(abs(fy3)))

title('已调信号的频谱');

sound(f3,fs,nbits);

f4=f3.*f2;

figure(3);

subplot(1,1,1);

fy4=fft(f4);

plot(w1,abs(abs(fy4)))

title('解调信号频谱');

sound(f4,fs,nbits);

fp1=0;

fs1=5000;

as1=100;

wp1=2*pi*fp1/fs;

ws1=2*pi*fs1/fs;

bf1=ws1-wp1;

wc1=(wp1+ws1)/2;

m1=ceil((as1-7.95)/(2.286*bf1))+1;

n1=m1+1;

beta1=0.1102*(as1-8.7);

window=(kaiser(n1,beta1));

b1=fir1(m1,wc1/pi,window);

figure(4);

freqz(b1,1,512);

title('fir低通滤波器的频率响应');

f4_low = filter(b1,1, f4);

plot(t,f4_low);

title('滤波后的解调信号时域波形');

sound(f4_low,fs,nbits);

f5=fft(f4_low);

figure(5);

subplot(1,1,1);

plot(w1,abs(f5));

title('滤波后的解调信号频谱')

4、设计数字滤波器和画出其频率响应给出各滤波器的性能指标。

低通滤波器的性能指标:fb=1000hz,fc=1200hz,as=100db,ap=1db.

程序fs=48000;

x,fs,nbits] =w**read('c:\users\administrator\desktop\matlab\sw')

t=0:1/48000:(length(x)-1)/48000;

sound(x,fs对加载的语音信号进行回放。

figure(1)

plot(t/2,x做原始语音信号的时域图形。

title('原始语音信号');

xlabel('time n');

ylabel('fuzhi n');

n=length(x求出语音信号的长度。

y1=fft(x,n傅里叶变换。

w=1/n*[0:n-1]*fs

figure(2

plot(abs(y1做原始语音信号的fft频谱图。

title('原始语音信号fft频谱')

x1,fs,bits]=w**read('c:\users\administrator\desktop\matlab\rfs');

MATLAB课程设计

1 求被控对象传递函数g s 的matlab描述。num 789 6312 11835 den 1 14 56 64 0 0 gs tf num,den transfer function 789 s 2 6312 s 11835 s 5 14 s 4 56 s 3 64 s 2 2 求被控对象脉冲...

MATLAB课程设计

课程设计。题目 matlab计算器。姓名 班级 学院 专业 完成时间。1总体设计。该计算器程序主要是matlab来制作,界面主要由四个静态文本框 21个运算按钮和两个动态文本框组成。实现的运算功能有四则运算 加 减 乘 除。而且添加了括号使人们使用时更加简单。这些计算功能主要调用了matlab的自定...

MATLAB课程设计

matlab课程设计。如图所示,为测量系统的示意图,它由两个能相互转动的连杆,角度编码器和滚轮等组成。o1为固定点,o2点为转动点,o3点为滚轮的中心,连杆的有效长度分别为l1和l2。任一位置时,连杆1相对于某基准位置的角度为 1,两连杆的相对角度为 2。其中对于 1,取垂直方向为基准线,在基准线左...