现代信号处理。
学院: 仪器与电子学院。
专业: 仪器仪表工程。
班级。姓名。
学号。流水号。
时间: 2023年 6月27日。
1、设采样周期t=250μs(采样频率fs =4khz),用脉冲响应不变法和双线性变换法设计一个三阶巴特沃兹滤波器,其3db边界频率为fc =1khz。
设计步骤如下:
1) 确定所需类型数字滤波器的技术指标。
2) 将所需类型数字滤波器的边界频率转换成相应的模拟滤波器的边界频率,转换公式为ω=2/t tan(0.5ω)
3) 将相应类型的模拟滤波器技术指标转换成模拟低通滤波器的技术指标。
4) 设计模拟低通滤波器。
5) 通过频率变换将模拟低通转换成相应类型的过渡模拟滤波器。
6) 采用脉冲响应不变法和双线性变换法将相应类型的过渡模拟滤波器转换成所需类型的数字滤波器。
程序设计如下:
b,a]=butter(3,2*pi*1000,'s');第一个参数为阶数;第二个参数为角频率;第三个参数为系数b、a按s的正降幂排列。
num1,den1]=impinvar(b,a,4000); 用冲激响应不变法将模拟滤波器变换成数字滤波器。
h1,w]=freqz(num1,den1);%获取滤波器的频率特性。
b,a]=butter(3,2/0.00025,'s');
num2,den2]=bilinear(b,a,4000); 实现双线性变换,即由模拟滤波器得到数字滤波器。
h2,w]=freqz(num2,den2);
f=w/pi*2000;
plot(f,abs(h1),'f,abs(h2),'x为图形上之x坐标向量,y为其对应的y坐标向量。
grid;xlabel('频率/hz ')
ylabel('幅值/db')
程序中第一个butter 的边界频率2π×1000,为脉冲响应不变法原型低通滤波器的边界频率;第二个butter 的边界频率2/t=2/0.00025,为双线性变换法原型低通滤波器的边界频率。图1 给出了这两种设计方法所得到的频响,虚线为脉冲响应不变法的结果;实线为双线性变换法的结果。
脉冲响应不变法由于混叠效应,使得过渡带和阻带的衰减特性变差,并且不存在传输零点。同时,也看到双线性变换法,在z=-1 即ω=π或f=2000hz 处有一个三阶传输零点,这个三阶零。
点正是模拟滤波器在ω=∞处的三阶传输零点通过映射形成的。
matlab计算结果如图1所示:
图12、设计一数字高通滤波器,它的通带为400~500hz,通带内容许有0.5db的波动,阻带内衰减在小于317hz的频带内至少为19db,采样频率为1000hz。
wc=2*1000*tan(2*pi*400/(2*1000));
wt=2*1000*tan(2*pi*317/(2*1000));
n,wn]=cheb1ord(wc,wt,0.5,19,'s');
b,a]=cheby1(n,0.5,wn,'high','s');
num,den]=bilinear(b,a,1000);
h,w]=freqz(num,den);
f=w/pi*500;
plot(f,20*log10(abs(h)))
axis([0,500,-80,10]);
grid;xlabel(''
ylabel('幅度/db')
图2给出了matlab计算的结果,可以看到模拟滤波器在ω=∞处的三阶零点通过高通变换后出现在ω=0(z=1)处,这正是高通滤波器所希望得到的。
图23、设计一巴特沃兹带通滤波器,其3db边界频率分别为f2=110khz和f1=90khz,在阻带f3 = 120khz处的最小衰减大于10db,采样频率fs=400khz。
w1=2*400*tan(2*pi*90/(2*400));
w2=2*400*tan(2*pi*110/(2*400));
wr=2*400*tan(2*pi*120/(2*400));
n,wn]=buttord([w1 w2],[1 wr],3,10,'s');
b,a]=butter(n,wn,'s');
num,den]=bilinear(b,a,400);
h,w]=freqz(num,den);
f=w/pi*200;
plot(f,20*log10(abs(h)))
axis([40,160,-30,10]);
grid;xlabel('频率/khz')
ylabel('幅度/db')
matlab计算结果如图3所示:
图34、一数字滤波器采样频率fs=1khz,要求滤除100hz的干扰,其3db的边界频率为95hz和105hz。
低通滤波器传递函数如下:h1a(s) =1/(1+s)
w1=95/500;
w2=105/500;
b,a]=butter(1,[w1, w2],'stop');
h,w]=freqz(b,a);
f=w/pi*500;
plot(f,20*log10(abs(h)))
axis([50,150,-30,10]);
grid;xlabel('频率/hz')
ylabel('幅度/db')
图4为matlab的计算结果。
图45、用计算机麦克录自己的语音信号,语音信号采样频率为22050,用matlab完成下列分析:
1)**语音信号;对信号做1024点fft变换;做原始语音信号的时域图形;绘制原始语音信号的频率响应图;做原始语音信号的fft频谱图。
fs=22050; %语音信号采样频率为22050
x1= w**read(' d:\program-tool\matlab\r2010b\work\ '读取语音信号的数据,赋给变量x1
sound(x1,32768); **语音信号。
y1=fft(x1,1024); 对信号做1024点fft变换。
f=fs*(0:511)/1024;
figure(1);
plot(x1); 做原始语音信号的时域图形。
title('原始语音信号');
xlabel('time n');
ylabel('fuzhi n');
figure(2);
freqz(x1) ;绘制原始语音信号的频率响应图。
title('频率响应图');
figure(3);
subplot(2,1,1);
plot(abs(y1(1:512)))做原始语音信号的fft频谱图。
title('原始语音信号fft频谱');
subplot(2,1,2);
plot(f,abs(y1(1:512)))
title('原始语音信号频谱');
xlabel('hz');
ylabel('fuzhi');
matlab计算结果如图所示:图5图6
图72)在语音信号中加入随机噪声;**加噪声后的语音信号,绘制加噪后的语音信号;
首先画出语音信号的时域波形,再对语音信号进行快速傅里叶变换,得到信号的频谱特性。
给原始的语音信号加上一个高频余弦噪声,频率为5khz。画出加噪后的语音信号时域和频谱图,与原始信号对比,可以很明显的看出区别。
程序如下:fs=22050;
x1=w**read(''
f=fs*(0:511)/1024;
t=0:1/22050:(size(x1)-1)/ 22050; %将所加噪声信号的点数调整到与原始信号相同。
au=0. 3;
d=[au*cos(2*pi*5000*t)]'噪声为5khz的余弦信号。
x2=x1+d;
sound(x2, 22050); **加噪声后的语音信号。
y2=fft(x2,1024);
figure(1)
plot(t,x2);
title('加噪后的信号');
xlabel('time n');
ylabel('fuzhi n');
figure(2)
subplot(2,1,1);
plot(f,abs(y1(1:512)))
title('原始语音信号频谱');
xlabel('hz');
ylabel('fuzhi');
subplot(2,1,2);
plot(f,abs(y2(1:512)))
title('加噪后的信号频谱');
xlabel('hz');
ylabel('fuzhi');
得到原始语音信号时域图形,原始语音信号幅度谱,加入噪声之后的语音信号时域图形,加入噪声之后的语音信号幅度谱如图所示:图8图9
3)设计合适的数字滤波器,将上述加噪声滤掉;**滤波后的信号;绘制滤波前和滤波后的语音信号及频谱图。
双线性变换法设计butterworth滤波器。
fs=22050;
x1=w**read(''
t=0:1/22050:(size(x1)-1)/ 22050;
au=0.03;
d=[au*cos(2*pi*10000*t)]'
x2=x1+d;
wp=0.25*pi;
ws=0.3*pi;
rp=1; rs=15; fs=32768; ts=1/fs;
wp1=2/ts*tan(wp/2将模拟指标转换成数字指标。
ws1=2/ts*tan(ws/2);
n,wn]=buttord(wp1,ws1,rp,rs,'s');选择滤波器的最小阶数。
z,p,k]=buttap(n创建butterworth模拟滤波器。
bap,aap]=zp2tf(z,p,k);
b,a]=lp2lp(bap,aap,wn);
信号处理作业
一 用傅里叶变换编程对复杂周期信号分解,对非周期信号分解。1 程序如下 定义傅里叶函数。function a,b,f fouriers f,t,t,a,b,k w 2 pi t a 1 t int f,t,a,b 求a0的值b f a for i 1 k ak 2 t int f cos i w t...
信号处理作业
语音分析实验报告。姓名 母洋文。学号 10021113 一 实验目的。1.了解声音信号采集 变换 分析 处理的全过程。2.理解傅里叶变换 功率谱 对数功率谱 倒频谱的原理和在工程应用中的作用。3.学习如何使用matlab软件对采集到的离散信号进行变换并绘出图形。4.掌握分析时 频谱图的方法。二 实验...
信号处理作业
200622120137 硕603班栗娜。思考题 傅立叶变换是一种什么模型,在什么情况下傅立叶变换不适合?答 傅立叶变换将满足一定条件的某个函数表示成很多正弦函数的线性组合或者积分。傅立叶变换具有正交性 完备性等很多有点。但是,傅立叶变换有其明显的缺点,就是没有时间局部信息,信号任何时刻的微小变化就...