文档库 最新最全的文档下载
当前位置:文档库 › 基于matlab的简单数字下变频器的设计

基于matlab的简单数字下变频器的设计

基于matlab的简单数字下变频器的设计
基于matlab的简单数字下变频器的设计

一、课程设计问题的提出:

试设计一数字下变频器,并用matlab 仿真;

二、二、解决问题的原理、技术方案解决问题的原理、技术方案解决问题的原理、技术方案以及以及matlab 验证验证:

:数字下变频器的原理说明:

数字下变频器(D DC)是接收机A /D 变换后,首先要完成的处理工作,一般的DDC 由本地

振荡器(NCO)、混频器、低通滤波器和抽取器组成.主要作用:其一是把中频信号变为零中频信号;其二是降低采样率。从频谱上看,数字下变频将A/D 采样后信号从中频变换,到基带。这样的处理由两步完成:首先是将输入信号与正交载波相乘,然后进行数字滤波滤除不需要的频率分量。NCO ,混频器,数字滤波器速率要等于采样率,采样率低于600MHz ,很难实时的在FPGA 中进行处理。

数字下变频器的基本结构:

NCO :产生正余弦序列,即I/Q 两路信号。

CIC 滤波器,适用于系统中的第一级抽取和进行大的抽取因子的抽取工作,并降低速率。FIR 滤波器,完成对整个信道的整形滤波。DDC 主要有三种实现途径:采用专用芯片、自制专用芯片、基于DSP 或FPGA 等通用芯片。

NCO采用的直接数字频率合成技术(DDS)是一种实用的频率合成技术,DDS由相位概念出发直接合成所需波形的一种新的频率合成技术。DDS合成技术采用了简便和有效的查表法。

运用matlab进行NCO的仿真:

程序:

t=0:0.001*10^(-6):10^-6;

I=110*cos(7*(10^7)*t-0.5*pi);

subplot(2,1,1);plot(t,I);grid on;

Q=110*sin(7*(10^7)*t+0.5*pi);

subplot(2,1,2);plot(t,Q);grid on;

信号的频率为11.2MHz

CIC滤波器:

CIC滤波器,即级联积分梳状滤波器,具有结构简单,便于处理,运算速度快等特点。CIC 滤波器的积分器H1(Z)是不稳定系统,如果不采取措施,它们级联后会出现溢出现象。另外,

滤波器级数过多还会引起高频失真现象。为了获得较大的阻带衰减,降低混叠影响,在信号带宽一定的条件下,应尽可能的采用小的抽取因子或增大采样率fs ,后者意味着CIC 抽取滤波器一般要用在抽取系统的第一级(输入采样率最高)。CIC 的冲击响应:

CIC 的冲击响应的Z 变换为:

其中H1(Z)为

,H2(Z)为。

分析H1(Z)和H2(Z)

从结构上可以看出H1(Z)其实就是一个积分器。

通过Z 变换和傅立叶变换的关系可得两式的傅立叶变换

H1(z),H2(z)的matlab 程序代码:w=0:pi/100:2*pi;

10-1()0,n D h n ≤≤?=?

?,其他

1

1

112()()111(1)1()()

D n

n D D

H z h n z z z z z

H z H z ??=????=?=

?=??=∑i i 11

1

()1H z z ?=

?2()1D

H z z ?=

?1/2/2/2/2()/21

()11

()

2sin()

22sin()

2

j j j j j j j H e e e e e j e e ω

ω

ωωωωωπωω????=

?=

????=

?=

?2/2/2/2

/2

()/2

()1222sin(22sin()

2

j D

j D j D j D j D j D H j e e e e D j e D e ωωωωωπωωωω?????=????=???

??=??=??

H1=exp(j*(w-pi)/2)./(2.*sin(w/2));

H2=2.*exp(j*(pi-w*10)/2).*sin(w*10/2);

subplot(2,2,1);plot(w/pi,abs(H1));axis([0,2,-10,40]);grid;subplot(2,2,2);plot(w/pi,angle(H1));axis([0,2,-pi,pi]);grid;

subplot(2,2,3);plot(w/pi,abs(H2));axis([0,2,min(abs(H2)),max(abs(H2))]);grid;subplot(2,2,4);plot(w/pi,angle(H2));axis([0,2,-pi,pi]);grid;H1(z),H2(z)

的响应图像如图所示:

N 阶CIC 抽取滤波器的频幅响应:

12(1)/2

1(1)/2()()()

sin()

2sin()

2()()22

j j j j D j D H e H e H e D e D D Sa Sa e ωωωωωωωωω???=?=

?=???

Matlab 程序:

wstep =pi/100;w=0:wstep :2*pi;

H=10*sin(w*10/2)./(10.*sin(w/2)).*exp(j*w*(1-10)/2);

subplot(1,2,1);plot(w/pi,abs(H));axis([0,2,min(abs(H))-10,max(abs(H))+10]);grid;subplot(1,2,2);plot(w/pi,angle(H));axis([0,2,-pi,pi]);grid;

当然,由于CIC 梳妆滤波器在滤波上所采用的采样频率过大,因而需要进行多级的采样,以保证信号的准确程度。

HB 半带滤波器:

半带滤波器是一种基于抽取和内插原理的滤波器,它是一种特殊的低通FIR(有限冲激响应)数字滤波器——一种抽因子为2的抽取滤波器,这种滤波器由于通带和阻带相对于二分之一Nyquist 频率对称,因而有近一半的滤波器系数为O。由于系数为0的部分在运算的过程中不需要消耗运算量,所以运算量减少了一半,使实际滤波过程中的运算量大幅度减少。因此计算的效率高,实时性比较强,有利于滤波运算的实时实现,在多速率信号处理中有着特别重要的地位,并且得到了广泛的应用 。

HB 滤波器非常多的用于实现D=2M 倍的抽取,计算效率比普通FIR 效率高出近一倍,时间也

更快。HB 性质:

5

.0)()

(1)(H 2/)(=?=?πωπj j jw e H e H e

由matlab 的HB 滤波器程序可以得到HB 滤波器幅频特性、相频特性:

00.51-100

-500

50HB0 00.51

-3000

-2000-1000

00

0.5

1

-300

-200-1000

10000.51

-6000

-4000-2000

0HB 滤波器的实例调用:Matlab 程序:fs =16e3;%采样频率n =0:5119;%采样点数

x =sin(2*pi*1e3/fs*n);%输入原始信号b =firhalfband(18,0.00245,'dev');%获得设计的半带滤波器抽头系数impz(b);%半带滤波器的冲击响应h =mfilt.firdecim(2,b);figure

y_fi =filter(h,x);x =double(x);y =double(y_fi);y =y/max(abs(y));

stem(n(1:44)/fs,x(1:44),'r');

xlabel('时间(sec )');ylabel('输入信号');hold on figure

stem(n(1:2:44)/fs,y(5:26),'filled');xlabel('信号值');

ylabel('时间(sec )');

结果:

FIR滤波器

设计方法以直接逼近所需离散时间系统的频率响应为基础,主要是选择有限长度的h(n),尽可能逼近传输函数。线性相位FIR滤波器单位冲激响应h(n)的设计常用等纹波法、窗函数法或频率抽样法。

窗函数法是指定连续的理想频率响应,然后用积分方法求出理想滤波器的单位抽样响应。容易做到线性相位、稳定,可以设计各种特殊类型的滤波器,设计方法简单。但是幅频指标不理想,不易控制边缘频率。其中采用汉宁(hanning)窗设计的滤波器,主瓣和旁瓣有大约50dB 的差距,并且过渡带宽、通带波动比较小,而且其旁瓣下降比较快,基本满足设计要求。Matlab程序:

Window=hanning(31);

b=fir1(30,0.4,Window);

freqz(b,1)

汉宁窗(Hanning Window)

调用格式:w=hanning(n),根据长度n产生一个汉宁窗w。

基于窗函数的FIR滤波器设计

利用MATLAB提供的函数firl来实现

调用格式:firl(n,Wn,’ftype’,Window),n为阶数、Wn是截止频率(如果输入是形如[W1 W2]的矢量时,本函数将设计带通滤波器,其通带为W1<ω

matlab验证与解释

三、matlab

三、

利用DDS技术生成信号源;

将各相位所对应的幅值A按二进制编码并存入ROM中。1周期内共有60等分,由于正弦波对为奇对称,对和为偶对称,因此ROM中只需存储

范围内的幅值码。若以=计算,在

~

0~pi/2之间共有15等分,其幅值在ROM中共占16个地址单元。因为=16,所以可按4位地址吗对数据ROM进行寻址。

地址码幅度(满度值为1)幅值编码

00000.00000000

00010.10500011

00100.20700111

00110.30901010

01000.40601101

01010.50010000

01100.58810011

01110.66910101

10000.74311000

10010.80911010

10100.86611100

10110.91411101

11000.95111110

11010.97811111

11100.99411111

1111 1.00011111

Matlab程序:

%fout:Output frequency

%Fs:Sample frequency

%Bits:Number of bits of the LUT

%endtime:Expected simulation endtime

%y:Output sine wave

%t:Output time

function[y,t]=dds_matlab(fout,Fs,Bits,endtime)

t=2*pi*(0:2^Bits-1)/2^Bits;

LUT=sin(t);

subplot(2,1,1)

plot(t,LUT)

figure(1);

grid on

t=0:1/Fs:endtime;

N=length(t);

n=1;

y=zeros(1,N);

IND=zeros(1,N);%Input Frequency Word

k=floor(fout/Fs*2^Bits);

index=0;

while n<=N

IND(n)=index;

index=index+k;

index=mod(index,2^Bits);

n=n+1;

end

IND=IND+1;

y=LUT(IND);

subplot(2,1,2)

plot(t,y)

figure(1);

axis([0endtime-1.21.2]);

grid on

实例调用:

dds_matlab(100,1000,5,1)

为了是频率达到要求的10MHz左右,且体现DDS技术的特性,取输入值:dds_matlab(10000000,100000000,7,0.000001)

由于ADC在中频进行采样,采样速率有可能很高,而混频后得到的数据率和采样速率是一致的,后级的FIR滤波器根本无法达到这个处理速率,因此先通过CIC(级联积分梳状)和HB (半带)滤波抽取器进行大的抽取,使数据率快速降下来,再由FIR进行滤波。CIC滤波器的系数都为1,因此实现非常简单,只有加减运算,没有乘法运算,硬件实现时可达到很高的处理速率,很适合作抽取系统中的第一级抽取和进行大的抽取因子的工作。但由于CIC滤波器的过渡带和阻带衰减特性不是很好,通常需要采用五级CIC级联的方法加大过渡带和阻带的衰减,抽取因子为1~32。HB滤波器由于其系数几乎一半为零,滤波时运算量减少一半,因此被作为第二级低通滤波和抽取。HB的抽取因子固定为2,特别适合采样率降低一半的要求。通过CIC和HB滤波抽取后,基带信号由最初的高数据率被降到较低的速率,适于后级FIR处理。FIR滤波器的主要用途是对整个信道进行整形滤波,需要的时候还可以作为匹配滤波器使用。

整体级联:

T=1;

w=linspace(-10*pi,10*pi,1024);

N=length(w);F=zeros(1,N);

for k=1:N

F(k)=quadl(@signalF,-T,T,[],[],w(k),T);

end

wstep=pi/100;w=0:wstep:2*pi;%CIC滤波

H=10*sin(w*10/2)./(10.*sin(w/2)).*exp(j*w*(1-10)/2).*F;

fs=2e7;%采样频率

n=0:5119;%采样点数

%输入原始信号H

b=firhalfband(18,0.00245,'dev');%获得设计的半带滤波器抽头系数impz(b);%半带滤波器的冲击响应

h=mfilt.firdecim(2,b);

figure

HB_fi=filter(h,H);

H=double(H);

HB=double(HB_fi);

HB=HB/max(abs(HB));

Window=hanning(31);

b=fir1(30,0.4,Window);

r=HB.*freqz(b,1);

程序中由于HB和FIR都是matlab本身定义的函数,函数级联的时候出现了一些技术上的问题,利用现有的知识解决较为困难,因而图像无法顺利生成。不过,因为前面在滤波器的设计上所编译的滤波器都是有文献和matlab程序依据的,因而,可以实现数字下变频器的设计。

课程设计总结:

本次信号与系统的课程设计中,我按照查询到的文献中目前通用的数字下变频器的形式进行了matlab的仿真以及自己的设计,仿真是通过自己的编译利用matlab中原有的滤波器进行CIC,HB,FIR滤波器的设计。不过,也是由于目前接触到的资料以及信号与系统实验中掌握的matlab技术有限,因而,有些编程上的设计依然不到位,对结果也造成了一定的影响。通过本次课程设计,我整合了自己本学期所学的知识,也提高了matlab的应用水平。

四、引用文献

《新型数字下变频器的设计》于慧敏,刘圆圆,王哲浙江大学

《数字下变频器的原理与实现方法》吴芝路,贾长辉,任广辉哈尔滨电子与技术研究院《基于matlab的数字下变频器的设计与仿真应用》范文晶等西安电子科技大学《基于matlab的高性能半带滤波器设计》韩计海东南大学移动通信实验室

《软件无线电原理及应用》杨小牛

matlab滤波器设计

长安大学 数字信号处理综合设 计 专业_______电子信息工程_______ 班级__24030602___________ 姓名_______张舒_______ 学号2403060203 指导教师陈玲 日期_______2008-12-27________

一、课程设计目的: 1. 进一步理解数字信号处理的基本概念、基本理论和基本方法; 2.熟悉在Windows环境下语音信号采集的方法; 3.学会用MATLAB软件对信号进行分析和处理; 4.综合运用数字信号处理理论知识,掌握用MATLAB软件设计FIR和IIR数字滤波器的方法; 5. 提高依据所学知识及查阅的课外资料来分析问题解决问题的能力。 二、课程设计内容: 1.语音信号的采集 利用windows下的录音机录制一段自己的话音,时间控制在1秒左右;并对语音信号进行采样,理解采样频率、采样位数等概念。 2.语音信号的频谱分析 利用函数fft对采样后语音信号进行快速傅里叶变换,得到信号的频谱特性。 3.设计数字滤波器 采用窗函数法和双线性变换法设计下列要求的三种滤波器,根据语音信号的特点给出有关滤波器的性能指标: 1)低通滤波器性能指标,fp=1000Hz,fc=1200Hz, As=100dB,Ap=1dB; 2)高通滤波器性能指标,fc=4800Hz,fp=5000Hz ,As=100dB,Ap=1dB; 3)带通滤波器性能指标,fp1=1200Hz,fp2=3000Hz,fc1=1000Hz,fc2=3200Hz,As=100dB,Ap=1dB。 4.对语音信号进行滤波 比较用两种方法设计的各滤波器的性能,然后用性能好的滤波器分别对采集的语音信号进行滤波;并比较滤波前后语音信号的波形及频谱,分析信号的变化。 5.回放语音信号,感觉滤波前后的声音变化。 三、实验原理 (一)基于双线性Z变换法的IIR数字滤波器设计 由于的频率映射关系是根据推导的,所以使jΩ轴每隔2π/Ts便映射到单位圆上一周,利用冲激响应不变法设计数字滤波器时可能会导致上述的频域混叠现象。为了克服这一问题,需要找到由s平面到z平面的另外的映射关系,这种关系应保证: 1) s平面的整个jΩ轴仅映射为z平面单位圆上的一周; 2) 若G(s)是稳定的,由G(s)映射得到的H(z)也应该是稳定的; 3) 这种映射是可逆的,既能由G(s)得到H(z),也能由H(z)得到G(s); 4) 如果G(j0)=1,那么。 双线性Z变换满足以上4个条件的映射关系,其变换公式为

matlab中关于数字滤波器的函数介绍

MATLAB下的数字信号处理实现示例 一信号、系统和系统响应 1、理想采样信号序列 (1)首先产生信号x(n),0<=n<=50 n=0:50; %定义序列的长度是50 A=444.128; %设置信号有关的参数 a=50*sqrt(2.0)*pi; T=0.001; %采样率 w0=50*sqrt(2.0)*pi; x=A*exp(-a*n*T).*sin(w0*n*T); %pi是MATLAB定义的π,信号乘可采用“.*”close all %清除已经绘制的x(n)图形 subplot(3,1,1);stem(x); %绘制x(n)的图形 title(‘理想采样信号序列’); (2)绘制信号x(n)的幅度谱和相位谱 k=-25:25; W=(pi/12.5)*k; X=x*(exp(-j*pi/12.5)).^(n’*k); magX=abs(X); %绘制x(n)的幅度谱 subplot(3,1,2);stem(magX);title(‘理想采样信号序列的幅度谱’); angX=angle(X); %绘制x(n)的相位谱 subplot(3,1,3);stem(angX) ; title (‘理想采样信号序列的相位谱’)(3)改变参数为:1,0734.2,4.0,10==Ω==TAα n=0:50; %定义序列的长度是50 A=1; %设置信号有关的参数 a=0.4; T=1; %采样率 w0=2.0734; x=A*exp(-a*n*T).*sin(w0*n*T); %pi是MATLAB定义的π,信号乘可采用“.*”close all %清除已经绘制的x(n)图形 subplot(3,1,1);stem(x); %绘制x(n)的图形 title(‘理想采样信号序列’); k=-25:25; W=(pi/12.5)*k; X=x*(exp(-j*pi/12.5)).^(n’*k); magX=abs(X); %绘制x(n)的幅度谱 subplot(3,1,2);stem(magX);title(‘理想采样信号序列的幅度谱’); angX=angle(X); %绘制x(n)的相位谱 subplot(3,1,3);stem(angX) ; title (‘理想采样信号序列的相位谱’) 2、单位脉冲序列 在MatLab中,这一函数可以用zeros函数实现: n=1:50; %定义序列的长度是50 x=zeros(1,50); %注意:MATLAB中数组下标从1开始

基于matlab的数字滤波器设计

淮北煤炭师范学院 2009届学士学位论文 基于MA TLAB的数字滤波器设计 学院、专业物理与电子信息学院 电子信息科学与技术 研究方向基于MATLAB的数字滤波器设计 学生姓名耿博 学号200513432024 指导教师姓名邹锋 指导教师职称讲师 2009 年4 月18

基于MATLAB的数字滤波器设计 耿博 (淮北煤炭师范学院物理与电子信息学院235000) 摘要随着信息时代和数字世界的到来,数字信号处理已成为今一门极其重要的学科和技术领域。数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在数字信号处理应用中,数字滤波器十分重要并已获得广泛应用。 数字滤波是数字信号处理的重要内容,数字滤波器可分为IIR和FIR两大类。对于IIR数字滤波器的设计,需要借助模拟原型滤波器,再将模拟滤波器转化为数字滤波器,文中采用的设计方法是脉冲响应不变法、双向性变换法和完全函数设计法;对于FIR数字滤波器的设计,可以根据所给定的频率特性直接设计,文中采用的设计方法是窗函数法。本文根据IIR滤波器和FIR滤波器的特点,在MATLAB坏境下分别用双线性变换法设计IIR和用窗函数设计FIR数字滤波器,并对采集的语音信号进行分析,最后给出了IIR和FIR对语音滤波的效果。 关键词数字滤波器;IIR ;FIR ;MATLAB

The Design of Digital Filter based on MATLAB Geng Bo School of Physics and Electronics Information, Huaibei Coal Industry Teachers? College, 235000 ABSTRACT Along with the information age and the digital world arrival, the digital signal processing has become a now extremely important discipline and the area of technology.The digital signal processing in the correspondence, the multitudinous domains the pronunciation such as the image, the automatic control, the radar, the military, the aerospace, the medical service and the domestic electric appliances and so on have obtained the widespread application.In the digital signal processing application, the digital filter are extremely important and have obtained the widespread application. The digital filter are the digital signal processing important content, the digital filter may divide into IIR and the FIR two main kinds. As for the IIR digital filter design, we need the help of analog prototype filter, and then transform analog filter into digital filter. In the paper we use the design of the pulse response invariable method, the bilinear method and full function design; as for the FIR filter, we can design it directly based on the giving frequency, in the paper it uses the design of the window function.This article according to the IIR filter and the FIR filter characteristic, uses the bilinearity method of transformation under the MATLAB bad boundary to design IIR and to design the FIR numeral filter separately with the window box number, and carries on the analysis to the gathering pronunciation signal, and finally gives IIR and FIR to the pronunciation filter effect. Keywords Digtial Filter;IIR;FIR;MATLAB

数字滤波器的MATLAB设计与DSP上的实现

数字滤波器的MAT LAB设计与 DSP上的实现 数字滤波器的MATLAB 设计与DSP上的实现 公文易文秘资源网佚名2007-11-15 11:56:42我要投稿添加到百度搜藏 摘要:以窗函数法设计线性相位FIR数字滤波器为例,介绍用MATLAB工具软件设计数字滤波器的方法和在定点DSP上的实现。实现时,先在CCS5000仿真开发,然后将程序加载到TMS320VC5409评估板上实时运行,结果实现了目标要求。文中还讨论了定标、误差、循环寻址等在DSP上实现的关键问题。关键词 摘要:以窗函数法设计线性相位 FIR数字滤波器为例,介绍用 MATLAB工具软件设计数字滤波器的方法和在定点DSP上的实现。实现时,先在 CCS5000仿真开发,然后将程序加载到 TMS320VC5 409评估板上实时运行,结果实现了目标要求。文中还讨论了定标、误差、循环寻址等在DSP上实 现的关键问题。 关键词:数字滤波器MATLAB DSP 引言 随着信息时代和数字世界的到来,数字信号处理已成为今一门极其重要的学科和技术领域。数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应

用。在数字信号处理应用中,数字滤波器十分重要并已获得广泛应用。 1数字滤波器的设计 1.1数字滤波器设计的基本步骤 数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR )滤波器和有限长冲激响应(FIR )滤波器。IIR滤波器的特征是,具有无限持续时间冲激响应。种滤波器一般需要用递归模型来实现,因而有时也称之为递归滤波器。FIR滤波器的冲激响应只能延续一定时间, 在工程实际中可以采用递归的方式实现,也可以采用非递归的方式实现。数字滤波器的设计方法有多种,如双线性变换法、窗函数设计法、插值逼近法和Chebyshev逼近法等等。随着 MATLAB软件尤 其是MATLAB的信号处理工作箱的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可以使设计达到最优化。 数字滤波器设计的基本步骤如下: (1确定指标 在设计一个滤波器之前,必须首先根据工程实际的需要确定滤波器的技术指标。在很多实际应用中,数字滤波器常常被用来实现选频操作。因此,指标的形式一般在频域中给岀幅度和相位响应。幅度指标主要以两种方式给岀。第一种是绝对指标。它提供对幅度响应函数的要求,一般应用于FI R滤波器的设计。第二种指标是相对指标。它以分贝值的形式给岀要求。在工程实际中,这种指标最受欢迎。对于相位响应指标形式,通常希望系统在通频带中人有线性相位。运用线性相位响应指标进行滤波器设计具有如下优点:①只包含实数算法,不涉及复数运算;②不存在延迟失真,只有固定数量的延迟;③长度为N的滤波器(阶数为N-1),计算量为N/2数量级。因此,本文中滤波器的设计就以线性相位FIR滤波器的设计为例。 (2)逼近

数字滤波器matlab的程序

数字滤波器matlab的源代码 function lvbo(Ua,Ub,choise) %参考指令:lvbo(2*pi,10*pi,1/0/-1) U1=min(Ua,Ub); U2=max(Ua,Ub); Us=16*U2; T=2*pi/Us; T_sum=4*max(2*pi/Ua,2*pi/Ub); sum=T_sum/T; t=T:T:T_sum; x=sin(U1*t)+0.8*sin(U2*t); X=DFT(x); figure(1); subplot(221) U=Us/sum:Us/sum:Us; stem(U,abs(X));grid on axis([Us/sum,Us/2,0,1.2*max(abs(X))]) title('原模拟信号采样频谱图') Ucd=U1+(U2-U1)*1/5;Usd=U2-(U2-U1)*1/5; switch choise case 1 Hz_ejw=IIR_DF_BW(Ucd,1,Usd,30,T,sum); case -1 Hz_ejw=IIR_DF_CF(Ucd,1,Usd,30,T,sum); case 0 Hz_ejw=FIR_DF_HM(U1,U2,T,sum); otherwise Hz_ejw=IIR_DF_BW(Ucd,1,Usd,30,T,sum); end Y=X.*Hz_ejw; y=1/sum*conj(DFT(conj(Y))); figure(1); subplot(224) plot(t,real(y)); title('模拟信号滤波后');grid on axis([0,T_sum,-max(real(y))*1.5,max(real(y))*1.5]) subplot(222); plot(t,x); hold on

实验11 用MATLAB设计FIR数字滤波器

实验11 用MATLAB 设计FIR 数字滤波器 一、实验目的: 1、加深对窗函数法设计FIR 数字滤波器的基本原理的理解。 2、学习用MA TLAB 语言的窗函数法编写设计FIR 数字滤波器的程序。 3、了解MATLAB 语言有关窗函数法设计FIR 数字滤波器的常用函数用法。 二、实验内容及步骤 2、选择合适的窗函数设计FIR 数字低通滤波器,要求: w p =0.2π,R p =0.05dB ; w s =0.3π,A s =40dB 。描绘该滤波器的脉冲响应、窗函数及滤波器的幅频响应曲线和相频响应曲线。 分析:根据设计指标要求,并查表11-1,选择汉宁窗。程序清单如下: function hd=ideal_lp(wc,N) wp=0.2*pi;ws=0.3*pi;deltaw=ws-wp; tao=(N-1)/2; n=[0:(N-1)]; m=n-tao+eps; hd=sin(wc*m)./(pi*m); function[db,mag,pha,grd,w]=freqz_m(b,a); [H,w]=freqz(b,a,1000,'whole'); H=(H(1:501))';w=(w(1:501))'; mag=abs(H); db=20*log10((mag+eps)/max(mag)); pha=angle(H); grd=grpdelay(b,a,w); wp=0.2*pi;ws=0.3*pi;deltaw=ws-wp; wc=(ws+wp)/2; 课程名称:数字信号处理 实验成绩: 指导教师: 实 验 报 告 院系: 信息工程学院 班级: 电信二班 学号: 姓名: 日期:

matlab数字滤波器设计程序

%要求设计一butterworth低通数字滤波器,wp=30hz,ws=40hz,rp=0.5,rs=40,fs=100hz。>>wp=30;ws=40;rp=0.5;rs=40;fs=100; >>wp=30*2*pi;ws=40*2*pi; >> [n,wn]=buttord(wp,ws,rp,rs,'s'); >> [z,p,k]=buttap(n); >> [num,den]=zp2tf(z,p,k); >> [num1,den1]=impinvar(num,den); Warning: The output is not correct/robust. Coeffs of B(s)/A(s) are real, but B(z)/A(z) has complex coeffs. Probable cause is rooting of high-order repeated poles in A(s). > In impinvar at 124 >> [num2,den2]=bilinear(num,den,100); >> [h,w]=freqz(num1,den1); >> [h1,w1]=freqz(num2,den2); >>subplot(1,2,1); >>plot(w*fs/(2*pi),abs(h)); >>subplot(1,2,2); >>plot(w1*fs/(2*pi),abs(h1)); >>figure(1); >>subplot(1,2,1); >>zplane(num1,den1); >>subplot(1,2,2); >>zplane(num2,den2);

高级数字滤波器设计及Matlab实现

高级数字滤波器设计及Matlab 实现 利用Parks-McClellan 算法设计线性相位FIR 滤波器 一、 算法原理 长度为2n+1的线性相位数字滤波器的传输函数为:20 ()n k k k G z h Z -== ∑。当 Z=exp(j T ω)=exp(2j F π)时,可得到频率响应: ()exp(2)cos 2n k k G F j nF d k F ππ==-∑ exp(2)()j F H F π=- 其中2n k k d h -=,k=0,……,n-1,0n d h = max ()()()W F D F H F - 对于一个理想的低通滤波器上式中的H(F)可以表示为: 误差加权函数: 允许设计者自己给定通带和阻带内的误差范围。令p s B B A = ,设计长度为2n+1的线性相位低通滤波器只要找到k d 并使得m a x ()()()W F D F H F -最小。 设空间A 是[0,1/2]的封闭子空间,为了使0 ()cos 2n k k H F d kF π== ∑是D(F) 在A 上唯一的最佳逼近,加权误差方程()()[()()]E F W F D F H F =-在A 上至少要有n+2个交错点。因此1()()i i E F E F E -=-=±,011,n i F F F F A +<∈ ,

max ()E E F =。算法的流程如图1所示。 对于给定的n+2个频率点,需要计算n+2个方程: ()(()())(1)k k k k W F H F D F ρ-=-- 写成矩阵的形式就是: 图 1.

0000001 1 1 1 1011 1 1 1 11 1cos 2cos 4cos 2()()11cos 2cos 4cos 2()()()(1)1cos 2cos 4cos 2()n n n n n n n F F nF W F d D F d F F nF D F W F d D F F F nF W F ππππππρπππ++++++?? ???? ?? ?? ??-????????????=??????????????????-?? ????? ? 通过该方程组可得: 其中: 利用拉格朗日插值公式可得: 这里 利用求得的H(F)求出误差函数E(F)。如果对所有的频率都有()E F ρ≤,说明ρ是纹波极值,交错频率点121,n F F F + 是交错频率点。若存在某些频率使得()E F ρ>,说明初始交错点组中的某些点需要交换。 对于上次确定的121,n F F F + 中每一点,都检查其附近是否存在某一频率 ()E F ρ>,如果有再在该点附近找出局部极值点,并用该,点代替原来的

基于matlab的FIR数字滤波器设计(多通带,窗函数法)

数字信号处理 课程设计报告 设计名称:基于matlab的FIR数字滤波器设计 彪

一、课程设计的目的 1、通过课程设计把自己在大学中所学的知识应用到实践当中。 2、深入了解利用Matlab设计FIR数字滤波器的基本方法。 3、在课程设计的过程中掌握程序编译及软件设计的基本方法。 4、提高自己对于新知识的学习能力及进行实际操作的能力。 5、锻炼自己通过网络及各种资料解决实际问题的能力。 二、主要设计内容 利用窗函数法设计FIR滤波器,绘制出滤波器的特性图。利用所设计的滤波器对多个频带叠加的正弦信号进行处理,对比滤波前后的信号时域和频域图,验证滤波器的效果。 三、设计原理 FIR 滤波器具有严格的相位特性,对于信号处理和数据传输是很重要的。 目前 FIR滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。常用的是窗函数法和切比雪夫等波纹逼近的最优化设计方法。本实验中的窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求高的时候是比较灵活方便的。 如果 FIR 滤波器的 h(n)为实数, 而且满足以下任意条件,滤波器就具有准确的线性相位: 第一种:偶对称,h(n)=h(N-1-n),φ (ω)=-(N-1)ω/2 第二种:奇对称,h(n)=-h(N-1-n), φ(ω)=-(N-1)ω/2+pi/2 对称中心在n=(N-1)/2处 四、设计步骤 1.设计滤波器 2.所设计的滤波器对多个频带叠加的正弦信号进行处理 3.比较滤波前后信号的波形及频谱 五、用窗函数设FIR 滤波器的基本方法 基本思路:从时域出发设计 h(n)逼近理想 hd(n)。设理想滤波器的单位响应在时域表达为hd(n),则Hd(n) 一般是无限长的,且是非因果的,不能

FIR数字滤波器设计及MATLAB使用要点

数字信号处理课程设计 《数字信号处理》 课程设计报告 FIR数字滤波器设计及MATLAB实现 专业:通信工程 班级:通信1101班 组次:第9组 姓名及学号: 姓名及学号:

目录 一、设计目的 (3) 二、设计任务 (3) 三、设计原理 (3) 3.1窗函数法 (3) 3.2频率采样法 (4) 3.3最优化设计 (5) 3.3.1等波纹切比雪夫逼近准则 (5) 3.3.2仿真函数 (6) 四、设计过程 (7) 五、收获与体会 (13) 参考文献 (13)

FIR数字滤波器设计及MATLAB实现 一、设计目的 FIR滤波器:有限长单位冲激响应滤波器,是数字信号处理系统中最基 本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性, 同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR 滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。滤波器设 计是根据给定滤波器的频率特性,求得满足该特性的传输函数。 二、设计任务 FIR滤波器设计的任务是选择有限长度的() H e满足一定 h n,使传输函数()jw 的幅度特性和线性相位要求。由于FIR滤波器很容易实现严格的线性相位,所以FIR 数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响应。 设计过程一般包括以下三个基本问题: (1)根据实际要求确定数字滤波器性能指标; (2)用一个因果稳定的系统函数去逼近这个理想性能指标; (3)用一个有限精度的运算去实现这个传输函数。 三、设计原理 FIR滤波器设计的任务是选择有限长度的() H e满足一定 h n,使传输函数()jw 的幅度特性和线性相位要求。由于FIR滤波器很容易实现严格的线性相位,所以FIR数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响应。 设计过程一般包括以下三个基本问题: (1)根据实际要求确定数字滤波器性能指标; (2)用一个因果稳定的系统函数去逼近这个理想性能指标; (3)用一个有限精度的运算去实现这个传输函数。 3.1窗函数法 设计FIR数字滤波器的最简单的方法是窗函数法,通常也称之为傅立叶级数法。FIR数字滤波器的设计首先给出要求的理想滤波器的频率响应()jw H e,设计 d

基于MATLAB的数字滤波器设计

基于matlab的数字滤波器设计 摘要:本文介绍的是数字滤波器在MATLAB环境下的设计方法。数字滤波是数字信号处理的重要内容,在实际应用中有非常大的作用。我们研究的数字滤波器可分为IIR和FIR两大类。对于IIR数字滤波器的设计,我们需要借助模拟原型滤波器,然后再将模拟滤波器转化为数字滤波器,文中采用的设计方法是脉冲响应不变法、双向性变换法和完全函数设计法;对于FIR数字滤波器的设计,可以根据所给定的频率特性直接设计,文中采用的设计方法是窗函数法。根据IIR 滤波器和FIR滤波器的特点,本文在MATLAB坏境下分别用双线性变换法设计IIR和用窗函数设计FIR数字滤波器,并让这两种滤波器对采集的语音信号进行分析和比较,经过分析,最后给出了IIR和FIR对语音滤波的效果,并总结这两种滤波器在MATLAB环境下设计方法的优缺点。 关键词:数字滤波器;IIR ;FIR ;MATLAB

The Design of Digital Filter based on MATLAB Abstract:This article describes a digital filter in the MATLAB environment design. Digital filtering is an important part of digital signal processing which is playing a very big role in practice .The digital filter we studied can be divided into two categories——IIR and FIR. For the IIR digital filter design, we will need the help of simulation prototype filter, analog filters and then converted it into digital filter For the IIR digital filter design .The design methods used in the text is the same impulse response method, bi-sexual transformation and full function design ;We can based on the frequency characteristics of the given direct design, design method used in the text is the window function for FIR digital filter design. Based on the characteristics of IIR filter and FIR filters ,the bad paper in the MATLAB environment under the bilinear transformation method were used to design IIR and FIR with window function digital filter design and filters to capture both the voice signal analysis and compare. Through analysis of IIR and FIR Finally, the effect of filtering on the speech, and concluded the advantages and disadvantages in the two filter design methods in the MATLAB environment. Key words: Digital Filter ;IIR;FIR;MATLAB

基于MATLAB的数字滤波器设计(DOC)

目录 1 引言 (1) 2 设计任务 (2) 2.1设计内容 (2) 2.2设计要求 (2) 3 语音信号的采集及时频分析 (3) 3.1语音信号的采集 (3) 3.2语音信号的时频分析 (3) 4 基于MATLAB的数字滤波器的设计 (5) 4.1数字滤波器的设计 (5) 4.1.1数字滤波器的基本概念 (5) 4.1.2 IIR滤波器设计思想 (5) 4.2IIR数字滤波器设计 (5) 4.2.1 IIR低通滤波器设计 (5) 4.2.2 IIR带通滤波器设计 (7) 4.2.3 IIR带通滤波器设计 (9) 5 合成信号及其滤波 (12) 5.1合成信号 (12) 5.2合成信号滤波 (13) 6 设计系统界面 (15) 6.1系统界面设计工具—GUI概述 (15) 6.2界面设计及使用说明 (15) 7 心得体会 (18) 参考文献 (19) 附录 (20)

1 引言 数字信号处理是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、抽样、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。它在语音、雷达、图像、系统控制、通信、航空航天、生物医学等众多领域都获得了极其广泛的应用。具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等优点。 数字滤波器, 是数字信号处理中及其重要的一部分。随着信息时代和数字技术的发展,受到人们越来越多的重视。数字滤波器可以通过数值运算实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能。数字滤波器种类很多,根据其实现的网络结构或者其冲激响应函数的时域特性,可分为两种,即有限冲激响应( FIR,Finite Impulse Response)滤波器和无限冲激响应( IIR,Infinite Impulse Response)滤波器。 IIR滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。同时,IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。 MATALB 可以创建图形用户界面GUI (GraphicalUser Interface) ,它是用户和计算机之间交流的工具。MATLAB 将所有GUl 支持的用户控件都集成在这个环境中并提供界面外观、属性和行为响应方式的设置方法,随着版本的提高,这种能力还会不断加强。而且具有强大的绘图功能,可以轻松的获得更高质量的曲线图。 滤波器的设计可以通过软件或设计专用的硬件两种方式来实现。随着MATLAB软件及信号处理工具箱的不断完善,MATLAB很快成为应用学科等领域不可或缺的基础软件。它可以快速有效地实现数字滤波器的设计、分析和仿真,极大地减轻了工作量,有利于滤波器设计的最优化。

IIR数字滤波器设计matlab代码

大连理工大学实验报告 学院(系):电子信息与电气工程学部专业:电子信息工程班级: 姓名:学号:组:实验时间:实验室:大黑楼C221实验台:指导教师签字:成绩:实验名称 实验三IIR 数字滤波器设计 一、实验目的和要求 (1)掌握双线性变换法设计IIR 数字滤波器。(2)掌握脉冲响应不变法设计IIR 数字滤波器。 二、实验原理和内容 1.巴特沃思低通滤波器 巴特沃思低通滤波器幅度平方函数定义为 |H a (jΩ)|2=N c 211 ???? ??ΩΩ+式中N 为正整数,代表滤波器的阶次,c Ω称为截止频率。当c Ω=Ω时,有21 )(2 = Ωc a j H 即dB j H j H c a a 3) ()0(lg 201=Ω=δ所以又称c Ω为巴特沃思低通滤波器的3分贝带宽。 巴特沃思低通滤波器的幅度特性如图所示。

图1巴特沃思低通滤波器的幅度特性 2.切贝雪夫低通滤波器 切贝雪夫I 型滤波器的幅度平方函数为 ??? ? ??ΩΩ+=Ωc N a C j H 22211 )(ε其中,ε是表示通带波纹大小的一个参数,ε越大,波纹也越大。 c ΩΩ为Ω对c Ω的归一化频率,c Ω为截止频率,)(x C N 是N 阶切贝雪夫多项式。 切贝雪夫I 型低通滤波器的幅度特性如图所示 图2切贝雪夫I 型低通滤波器的幅度特性 三、主要仪器设备 Matlab 四、实验内容及结果 1.用双线性变换法设计一个巴特沃斯IIR 低通数字滤波器。设计指标参数为:在通带内频率低于0.4*pi 时,最大衰减小于2dB ;在阻带内[0.6*pi,pi]频率区间上,最小衰减大于15dB 。要求: ?(1)用buttord ,buttap ,zp2tf ,lp2lp ,bilinear 等指令实现 ?(2)用buttord ,butter 指令实现

实验4 基于MATLAB的FIR数字滤波器设计

实验4 基于MATLAB 的FIR 数字滤波器设计 实验目的:加深对数字滤波器的常用指标和设计过程的理解。 实验原理:低通滤波器的常用指标: P P P for H Ω≤Ω+≤Ω≤-,1)(1δδ πδ≤Ω≤Ω≤ΩS S for H ,)( 通带边缘频率P Ω,阻带边缘频率S Ω ,通带起伏 P δ, 通带峰值起伏] )[1(log 2010dB p p δα--=, 阻带起伏s δ,最小阻带衰减])[(log 2010dB s S δα-=。 数字滤波器有IIR 和FIR 两种类型,它们的特点和设计方法不同。 在MATLAB 中,可以用b=fir1(N,Wn,’ftype’,taper) 等函数辅助设计FIR 数字滤波器。N 代表滤波器阶数;Wn 代表滤波器的截止频率(归一化频率),当设计带通和带阻滤波器时,Wn 为双元素相量;ftype 代表滤波器类型,如’high ’高通,’stop ’带阻等;taper 为窗函数类型,默认为海明窗,窗系数需要实现用窗函数blackman, hamming,hanning chebwin, kaiser 产生。 S P P S Passband Stopband Transition band Fig 1 Typical magnitude specification for a digital LPF

例1 用凯塞窗设计一FIR低通滤波器,通带边界频率π3.0 ,阻带边界频 Ω = p ,阻带衰减不小于 率π5.0 Ω = s 50dB。

解首先由过渡带宽和阻带衰减来决定凯塞窗的N和 π2.0 = Ω - Ω = ?Ω p s , ,

用MATLAB设计FIR数字滤波器

实验八 用MATLAB 设计FIR 数字滤波器(二) 一、实验目的: 1、加深对窗函数法设计FIR 数字滤波器的基本原理的理解。 2、学习用MATLAB 语言的窗函数法编写设计FIR 数字滤波器的程序。 3、了解MATLAB 语言有关窗函数法设计FIR 数字滤波器的常用函数用法。 二、实验原理: 1、用窗函数法设计FIR 数字滤波器 FIR 数字滤波器的系统函数为 N-1 -n n=0H(z)=h(n)z ∑ 这个公式也可以看成是离散LSI 系统的系统函数 M -m -1-2-m m m=0 012m N -1-2-k -k 12k k k=1 b z b +b z +b z ++b z Y(z)b(z)H(z)=== =X(z)a(z) 1+a z +a z ++a z 1+a z ∑∑ 分母a 0为1,其余a k 全都为0时的一个特例。由于极点全部集中在零点,稳定和线性相位特性是FIR 滤波器的突出优点,因此在实际中广泛使用。 FIR 滤波器的设计任务是选择有限长度的h(n),使传输函数H(e j ω)满足技术要求。主要设计方法有窗函数法、频率采样法和切比雪夫等波纹逼近法等。本实验主要介绍窗函数法。 用窗函数法设计FIR 数字滤波器的基本步骤如下: (1)根据过渡带和阻带衰减指标选择窗函数的类型,估算滤波器的阶数N 。 (2)由数字滤波器的理想频率响应H(e j ω)求出其单位脉冲响应h d (n)。

可用自定义函数ideal_lp实现理想数字低通滤波器单位脉冲响应的求解。 程序清单如下: function hd=ideal_lp(wc,N) %点0到N-1之间的理想脉冲响应 %wc=截止频率(弧度) %N=理想滤波器的长度 tao=(N-1)/2; n=[0:(N-1)]; m=n-tao+eps; %加一个小数以避免0作除数 hd=sin(wc*m)./(pi*m); 其它选频滤波器可以由低通频响特性合成。如一个通带在ωc1~ωc2之间的带通滤波器在给定N值的条件下,可以用下列程序实现: Hd=ideal_lp(wc2,N)-ideal_lp(wc1,N) (3)计算数字滤波器的单位冲激响应h(n)=w(n)h d(n)。 (4)检查设计的滤波器是否满足技术指标。 如果设计的滤波器不满足技术指标,则需要重新选择或调整窗函数的类型,估算滤波器的阶数N。再重复前面的四个步骤,直到满足指标。 常用的窗函数有矩形窗、三角形窗、汉宁窗、哈明窗、切比雪夫窗、布莱克曼窗、凯塞窗等,MATLAB均有相应的函数可以调用。另外,MATLAB信号处理工具箱还提供了fir1函数,可以用于窗函数法设计FIR滤波器。 由于第一类线性相位滤波器(类型Ⅰ)能进行低通、高通、带通、带阻滤波器的设计,因此,本实验所有滤波器均采用第一类线性相位滤波器。 三、实验容:

实验报告基于MATLAB的数字滤波器设计

实验7\8 基于MATLAB 的数字滤波器设计 实验目的:加深对数字滤波器的常用指标和设计过程的理解。 实验原理:低通滤波器的常用指标: P P j P for e G ωωδδω ≤+≤≤-,1)(1 π ωωδω ≤≤≤S S j for e G ,)( 通带边缘频率:P ω,阻带边缘频率:S ω , 通带起伏:P δ,通带峰值起伏: ])[1(log 2010 dB p p δα --=,阻带起伏: s δ, 最小阻带衰减: ] )[(log 2010dB s S δα-=。 数字滤波器有IIR 和FIR 两种类型,它们的特点和设计方法不同。 在MATLAB 中,可以用[b ,a]=butter (N,Wn )等函数辅助设计IIR 数字滤波器, 也可以用b=fir1(N,Wn,’ftype ’) 等函数辅助设计FIR 数字滤波器。 实验内容: 利用MATLAB 编程设计一个数字带通滤波器,指标要求如下: 通带边缘频率:πω45.01=P ,πω65.02=P ,通带峰值起伏:] [1dB p ≤α 。 阻带边缘频率: π ω3.01=S , π ω75.02=S ,最小阻带衰减: ] [40dB S ≥α。 分别用IIR 和FIR 两种数字滤波器类型进行设计。 实验要求:给出IIR 数字滤波器参数和FIR 数字滤波器的冲激响应,绘出它们的幅度和相位 频响曲线,讨论它们各自的实现形式和特点。 实验内容: IRR 代码: wp=[0.45*pi,0.65*pi]; ws=[0.3*pi,0.75*pi]; Ap=1; As=40; [N,Wc]=buttord(wp/pi,ws/pi,Ap,As) ; [b,a]=butter(N,Wc)%[b,a] = butter(n,Wn,'ftype') S ω-P ω-P ωS ωPassband Stopband Transition band Fig 7.1 Typical magnitude specification for a digital LPF

Matlab数字滤波器设计

1 基于Matlab的FIR数字滤波器设计1郑伟鑫 ( 1. 华南理工大学机械与汽车工程学院机械电子工程1班 ) 摘要:数字滤波器不是用物理元器件构成,而是按照某种算法编写一段程序或模块,对数字信号进行处理加工,从而达到滤波的要求。数字滤波器是实现滤波过程的一种数字信号处理系统,具有离散时间系统的基本特征。鉴于滤波器在数字信号处理中的广泛应用以及在Matlab环境下设计滤波器的快捷方便等特性,本文研究了Matlab环境下,数字滤波器的设计与实现。数字滤波器包括IIR(无限脉冲响应)数字滤波器和FIR(有限脉冲响应)数字滤波器。其实现方式主要有软件方式实现(即Matlab编程实现)和硬件方式实现。本文主要介绍FIR数字滤波器的软硬件方式实现。Matlab强大的数字信号处理工具箱为我们提供了易用、有力的设计工具。通过正确的使用函数,很容易设计出性能良好的数字滤波器。关键词:数字滤波器 Matlab FIR Design of FIR digital filter based on Matlab 1 Zheng Weixin(1.South China University of Technology, Mechanical and Automotive institute, Class 1 of Mechanical and Electronic Engineering):Abstract Digital filter is not composed of physical components, but writing a program or module according to some algorithms. The digital signal processing is aimed to achieve the filtering requirements. The digital filter is a digital signal processing system implemented in filtering process, which is also the basic feature of the discrete time system. In view of the extensive applications of filters in digital signal processing and the fast and convenient features of filter

相关文档
相关文档 最新文档