文档库 最新最全的文档下载
当前位置:文档库 › 基带脉冲成形滤波器

基带脉冲成形滤波器

基带脉冲成形滤波器
基带脉冲成形滤波器

基带脉冲成形滤波器

一基本原理

基带脉冲成形滤波器实际上是一个内插滤波器

上图为一内插器,内插M(码元间差M-1个0),增加数模转换的精度,脉冲成形滤波器h(t),使得码元成形,消除码间干扰,并且能压缩频谱,在基带中h(t)可视为发送滤波器,直接将成形波形发射出去,在频带中经过调制后发射出去。

一般选择发端的脉冲成形滤波器具有根升余弦特性。

升余弦滚降函数为:

α=W2/W1为滚降系数。TS为码元间隔。

二MATLAB仿真

Fd=1;

Fs=8;

Delay=3;

R=0.5;

[yf,tf]=rcosine(Fd,Fs,'fir',R,Delay);

%将原始信号内插后通过升余弦滚降滤波器后的输出

figure(1)

plot(yf);

grid;

xlabel('Time');

ylabel('Amplitude');

title('升余弦滚降滤波器');

x=randint(100,1)*2-1;%原始输入信号为+1,-1码

xt=zeros(1,800);

xt(1:8:end)=x;

y=filter(yf,tf,xt);

yt=y((size(yf)+1)/2:8:end);

figure(2);

stem(yt(1:40));

title('抽取后输出')

grid;

figure(3);

stem(x(1:40));

title('原始信号输出')

figure(4)

plot(y(1:100));

title('滤波后输出')

grid;

三.硬件实现

方法1.用数字滤波器设计脉冲成形滤波器时关键是抽头系数的确定,可以根据h(t)采样得到。

方法2.利用MATLAB中的FDATOOL工具对升余弦滚降滤波器进行设计。

附:用FPGA实现的波形如下:

y = fmmod(x,Fc,Fs,freqdev)

- y:调制后的输出的时域信号数据;

- x:输入的时域数据;

- Fc:调制载波频率。绝对值,Hz。

- Fs:整个系统的采样频率。当然越高越好,能够更清晰的描述整个模拟调制的情况。

- freqdev:每单位的调频带宽(如果输入信号最大值是2,调频带宽就是这个值的2倍)。

这几个参数看起来简单,但是如果没有理解其中含义,初学者把握不住期间关系,就会发现绘制出来的图片和期望相差很大。特别是2007的matlab的帮助文档里面的例子,简直就是让人头晕。

其中的关键点是:

X的点数,Fs和Fc间的配置要合理。才能够看到期望的调频图像。具体说,就是:- Fs代表了采样频率,是整个函数的计算基础。

- x里面的每个点,时域上都对应于一个Fs的采样点。

- Fs必须比Fc足够高(10倍),才能够在绘制输出的图像时候,有足够的精度表示出来。

例子如下:

x=[0:0.001:1];

x=[x,[1:-0.001:0]];

Fc=800;

Fs=100000;

fredev=1000;

y=fmmod(x,Fc,Fs,fredev);

plot(y);

% 解调输出

z=fmdemod(y,Fc,Fs,fredev);

% 绘制频谱和时域图

lx=length(y);

Freqs=Fs;

freq=[-Freqs/2:Freqs/lx:Freqs/2-Freqs/lx];

S=fftshift(abs(fft(y)));

Sdb=10*log10(S);

figure;

plot(freq,Sdb);

关于平方根升余弦滚降滤波器

平方根升余弦滚降滤波器在发送端输出的信号是连续信号还是离散信号?

信道传输要符合NYQUIST不是真定理,要求从发到收信道是升余弦滚降滤波器。实际

应用中在发弄个平方根升余弦滚降滤波器,收弄个平方根升余弦滚降滤波器,这个出来是数字的,可以用D/A转换,在调制到射频上发射!

那像下面发射机的一段函数,delay是自己给定的还是由公式得到的?

关于升余弦滚降滤波器书上都讲得不全

Fd=1e3

Fc=128e3;

% Generate an randm sequence of 0 and 1

% Input binary data of 1KHz

n=0:6000

data=100; %发送100个0、1随机序列

rand_data=randn(1,data);

for i=1:data

if rand_data(i)>=0

input(i)=1;

else

input(i)=0;

end

end

% Series to Parallel

Ix=input(1:2:length(input));

Qx=input(2:2:length(input));

% QPSK Encoder.

for i=1:length(Ix)

if Ix(i)==1

I(i)=-1;

else I(i)=1;

end

end

for i=1:length(Qx)

if Qx(i)==1

Q(i)=-1;

else Q(i)=1;

end

end

delay=2;

Fd=1000;

Fs=8000;

r=0.5;

N0=32;

[Ipulse,tx]=rcosflt(I,1e3,8e3,'sqrt',0.5,2); %Ipulse长度为8*data/2+N0

[Qpulse,ty]=rcosflt(Q,1e3,8e3,'sqrt',0.5,2); %Ipulse长度为8*data/2+N0

%取中间4*data个点

for i=1:4*data

Ipulse(i)=Ipulse(i+N0/2);

Qpulse(i)=Qpulse(i+N0/2);

end

升余弦滚降滤波器的原理可以参考Proakis的《数字通信》一书,相当于用截断的FIR 滤波器和传输基带信号卷积以满足带通传输,在带外则迅速衰减。

现代数字通信中广泛采用平方根升余弦滚降数字滤波器作为基带成形滤波器和匹配滤波器。经过发射和接收的卷积,得升余弦滚降滤波器。其中的第7章,还有好多讲基带信号处理的。

升余弦滚降滤波器是为了消除码间串扰,平方根升余弦在发射端和接收端各有一个,传输函数相同,两者的合成特性应能使码间串扰最小,且频谱集中在传输带宽内。

理论上h(t)是时域无限的,而实际应用中通常要对h(t)进行截短rcosflt(x,Fd,Fs,sqrt,r,delay)函数相当于先对原序列进行Fs/Fd倍内插,然后在根升余弦滚降脉冲成型做滤波器需要有比较

疑问

在发端是为了脉冲成型, 在收端为了匹配滤波?还是收发配合完成脉冲成型, 消除ISI, 此外还需要单独的匹配滤波器?

发端是脉冲成型,收端匹配滤波,应该是不需再设计单独的匹配滤波器了。

波形成形(平方根升余弦滤波器)

为了避免相邻传输信号之间的串扰,多元符号需要有合适的信号波形。图1中的方波是在本地数字信号处理时常见的波形,但在实际传输时这种方波并不合适。根据奈奎斯特第一准则,在实际通信系统中一般均使接收波形为升余弦滚降信号。这一过程由发送端的基带成形滤波器和接收端的匹配滤波器两个环节共同实现,因此每个环节均为平方根升余弦滚降滤波,两个环节合成就实现了一个升余弦滚降滤波。实现平方根升余弦滚降信号的过程称为“波形成形”,通过采用合适的滤波器对多元码流进行滤波实现,由于生成的是基带信号,因此这一过程又称“基带成形滤波”。

由于在本系统中直接采用了Matlab中communication工具箱中的rcosine 和rcosflt两个函数来实现平方根升余弦滤波器,所以对这两个函数的一些属性也有必要讨论一下。

其中rcosine函数是用来产生数字滤波器的参数,而rcosflt函数调用rcosine函数产生的结果对序列进行滤波。这里需要注意的是,在rcosflt函数的输入参数中如不特别声明,它将默认的对输入信号进行过采样(Upsampling),过采样率由输入参数中的信号频率(Fd)和采样频率(Fs)决定。在经过成型滤波器(第一个平方根升余弦滤波器)时,需要对原信号进行过采样,这时可以通过rcosflt函数在完成波形生成的同时进行8倍过采样,当然也可以先进行过采样后,再将得到的结果送入到rcosflt函数中,同时声明不需要进行过采样。而在经过匹配滤波器的时候,rcosflt函数不要再过采样。

另外还有一点,在rcosine函数中,有一个参数是延时(Delay),这个参数的值就是平方根升余弦滤波器时域响应中边瓣的个数。默认值是3,同时滚降系数是0.5。当滚降系数不是0.5的情况下,延时(Delay)的值需要适当的变化。例如当滚降系数小于0.5时,Delay的值应该大于3,以保证能尽可能多的将旁瓣的效果加入的滤波器中,当然随着Delay的变大,数据处理的工作量也会增大。

平方根升余弦滤波器的冲激响应

基带平方根升余弦滤波器具有以下定义的理论函数

???????

=??????-+==0)()||(2sin 2121)(1)(21f H f f f f H f H N N απ )1(||)1(||)1()

1(||αααα+>+≤≤--

21s s N R T f ==是奈奎斯特平率,α是滚降系数。 下面给出平方根升余弦滤波器的冲激响应曲线,如图5所示。

从上图上不难看出来,平方根升余弦滤波器的冲激响应很显然的引入了符号间干扰(ISI )即它的冲激响应在相邻的抽样点上的值并不象升余弦滤波器那样恒为0。然而造成这一后果的原因在于,当我们引入平方根升余弦滤波器的时候,就是认为整个信道,也就是说,包括信号发送端的滤波器和信号接收端的滤波器,总体的效果是避免了符号间干扰(ISI ),所以,单独看这每一个滤波器,勿庸置疑,它们都是存在着符号间干扰(ISI )的。

根升余弦滤波器函数

function [baseseq]=sqrcfil(T,k,m,beta)

% T 符号周期

% k 每符号采样率

% m 延时周期数,变成因果

% beta 滚降因子

% baseseq 输出系数

n = 0:2*m*k;

z = (n/k)-m+eps;

t1 = cos((1+beta)*pi*z);

t2 = sin((1-beta)*pi*z);

t3 = 1./(4*beta*z);

den = 1-16*beta*beta*z.*z;

num = t1+t2.*t3;

c = 4*beta/(pi*sqrt(T));

baseseq = c*num./den;

无限长单位脉冲响应滤波器设计剖析

实验四无限长单位脉冲响应滤波器设计 一、实验目的 1.掌握双线性变换法及脉冲响应不变法设计IIR数字滤波器的具体设计方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和带通IIR数字滤波器的计算机编程。 2.观察双线性变换及脉冲响应不变法设计的滤波器的频率特性,了解双线性变换法及脉冲响应不变法的特点。 3.熟悉巴特沃思滤波器、切比雪夫滤波器和椭圆滤波器的频率特性。 二、实验原理 (1)实验中有关变量的定义:fc通带边界频率,fr阻带边界频率,tao通带波动,at 最小阻带衰减,fs采样频率,t采样周期。 (2)设计一个数字滤波器一般包括以下两步: a.按照任务要求,确定滤波器性能指标 b.用一个因果稳定的离散时不变系统的系统函数去逼近这一性能要求 (3)数字滤波器的实现:对于IIR滤波器,其逼近问题就是寻找滤波器的各项系数,使其系统函数逼近一个所要求的特性。先设计一个合适的模拟滤波器,然后变换成满足约定指标的数字滤波器。 用双线形变换法设计IIR数字滤波器的过程: a.将设计性能指标中的关键频率点进行“预畸” b.利用“预畸”得到的频率点设计一个模拟滤波器。 c.双线形变换,确定系统函数 三、实验内容 1、设计一切比雪夫高通滤波器,性能指标如下:通带边界频率f c=0.4kHz,通带波动δ=0.5dB,阻带边界频率f r=0.3kHz,阻带最小衰减At=20dB,采样频率f s=1000Hz,观察其通带波动和阻带衰减是否满足要求。(绘制对数幅度谱) 2、设计一巴特沃思低通滤波器,性能指标如下:通带边界频率f c=0.4kHz,通带波动δ=1dB,阻带边界频率f r=0.6kHz,阻带最小衰减At=40dB,采样频率f s=2000Hz,分别用脉冲响应不变法和双线性变换法进行设计,比较两种方法的优缺点。(绘制线性幅度谱) 3、用双线性变换法设计巴特沃思、切比雪夫和椭圆低通滤波器,其性能指标如下:通带边界频率f c=1.8kHz,通带波动δ≤1dB,阻带边界频率f r=2.6kHz,阻带最小衰减A t≥50dB,采样频率f s=8kHz。(绘制对数幅度谱) 4、设计一巴特沃思带通滤波器,性能指标如下:通带频率3kH z≤f≤4kHz,通带波动δ≤1dB;上阻带f≥5kHz,阻带最小衰减At≥15dB;下阻带f≤2kHz,阻带最小衰减At≥20dB;采样频率f s=20kHz,分别用脉冲响应不变法和双线性变换法进行设计。(绘制线性幅度谱) 5、用双线性变换法设计一椭圆带阻滤波器,性能指标如下:阻带频率2kH z≤f≤3kHz,

实验五:FIR数字滤波器设计与软件实现

实验五:FIR数字滤波器设计与软件实现 一、实验指导 1.实验目的 (1)掌握用窗函数法设计FIR数字滤波器的原理和方法。 (2)掌握用等波纹最佳逼近法设计FIR数字滤波器的原理和方法。 (3)掌握FIR滤波器的快速卷积实现原理。 (4)学会调用MATLAB函数设计与实现FIR滤波器。 2.实验容及步骤 (1)认真复习第七章中用窗函数法和等波纹最佳逼近法设计FIR数字滤波器的原理; (2)调用信号产生函数xtg产生具有加性噪声的信号xt,并自动显示xt及其频谱,如图1所示; 图1 具有加性噪声的信号x(t)及其频谱如图 (3)请设计低通滤波器,从高频噪声中提取xt中的单频调幅信号,要求信号幅频失真小于0.1dB,将噪声频谱衰减60dB。先观察xt的频谱,确定滤波器指标参数。 (4)根据滤波器指标选择合适的窗函数,计算窗函数的长度N,调用MATLAB函数fir1设计一个FIR低通滤波器。并编写程序,调用MATLAB快速卷积函数fftfilt实现对xt的滤波。绘图显示滤波器的频响特性曲线、滤波器输出信号的幅频特性图和时域波形图。 (4)重复(3),滤波器指标不变,但改用等波纹最佳逼近法,调用MATLAB函数remezord 和remez设计FIR数字滤波器。并比较两种设计方法设计的滤波器阶数。 提示:○1MATLAB函数fir1的功能及其调用格式请查阅教材; ○2采样频率Fs=1000Hz,采样周期T=1/Fs; ○3根据图1(b)和实验要求,可选择滤波器指标参数:通带截止频率fp=120Hz,阻带截

至频率fs=150Hz ,换算成数字频率,通带截止频率p 20.24p f ωπ=T =π,通带最大衰为0.1dB ,阻带截至频率s 20.3s f ωπ=T =π,阻带最小衰为60dB 。 ○ 4实验程序框图如图2所示,供读者参考。 图2 实验程序框图 4.思考题 (1)如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线性相位低通滤波器?请写出设计步骤. (2)如果要求用窗函数法设计带通滤波器,且给定通带上、下截止频率为pl ω和pu ω,阻带上、下截止频率为sl ω和su ω,试求理想带通滤波器的截止频率cl cu ωω和。 (3)解释为什么对同样的技术指标,用等波纹最佳逼近法设计的滤波器阶数低? 5.信号产生函数xtg 程序清单(见教材) 二、 滤波器参数及实验程序清单 1、滤波器参数选取 根据实验指导的提示③选择滤波器指标参数: 通带截止频率fp=120Hz ,阻带截至频率fs=150Hz 。代入采样频率Fs=1000Hz ,换算成数字频率,通带截止频率p 20.24p f ωπ=T =π,通带最大衰为0.1dB ,阻带截至频率

实验6 无限冲激响应数字滤波器设计

实验6无限冲激响应数字滤波器设计 实验目的: 掌握双线性变换法及脉冲相应不变法设计IIR数字滤波器的具体设计方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和带通IIR数字滤波器的计算机编程。 实验原理: 在MATLAB中,可以用下列函数辅助设计IIR数字滤波器:1)利用buttord 和cheblord可以确定低通原型巴特沃斯和切比雪夫滤波器的阶数和截止频率; 2)[num,den]=butter(N,Wn)(巴特沃斯)和[num,den]=cheby1(N,Wn),[num,den]=cheby2(N,Wn)(切比雪夫1型和2型)可以进行滤波器的设计;3)lp2hp,lp2bp,lp2bs可以完成低通滤波器到高通、带通、带阻滤波器的转换;4)使用bilinear可以对模拟滤波器进行双线性变换,求得数字滤波器的传输函数系数;5)利用impinvar可以完成脉冲响应不变法的模拟滤波器到数字滤波器的转换。 例3-1 设采样周期T=250μs(采样频率fs =4kHz),用脉冲响应不变法和双线性变换法设计一个三阶巴特沃兹滤波器,其3dB边界频率为fc =1kHz。 [B,A]=butter(3,2*pi*1000,'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),'-'); grid; xlabel('频率/Hz ') ylabel('幅值/dB') 程序中第一个butter的边界频率2π×1000,为脉冲响应不变法原型低通滤波器的边界频率;第二个butter的边界频率2/T=2/0.00025,为双线性变换法原型低通滤波器的边界频率.图1给出了这两种设计方法所得到的频响,虚线为脉冲响应不变法的结果;实线为双线性变换法的结果。脉冲响应不变法由于混叠效应,使得过渡带和阻带的衰减特性变差,并且不存在传输零点。同时,也看到双线性变换法,在z=-1即Ω=π或f=2000Hz处有一个三阶传输零点,这个三阶零点正是模拟滤波器在ω=∞处的三阶传输零点通过映射形成的。 例2 设计一数字高通滤波器,它的通带为400~500Hz,通带内容许有0.5dB的波动,阻带内衰减在小于317Hz的频带内至少为19dB,采样频率为1,000Hz。 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')

脉冲响应不变法设计数字低通滤波器

燕山大学 课程设计说明书 题目:脉冲响应不变法设计数字低通滤波器 学院(系):电气工程学院 年级专业:09级精密仪器及机械2班 学号: 0901******** 学生姓名:范程灏 指导教师:刘永红 教师职称:讲师

电气工程学院《课程设计》任务书 课程名称:数字信号处理课程设计 基层教学单位:仪器科学与工程系指导教师: 学号学生姓名(专业)班级设计题目7、脉冲响应不变法设计数字低通滤波器 设 计技术参数给定技术指标为:Hz f p 100 =,Hz f s 300 =,dB p 3 = α,dB s 20 = α,采样频率Hz F s 1000 =。 设 计 要 求 设计Butterworth低通滤波器,用脉冲响应不变法转换成数字滤波器。 参考资料数字信号处理方面资料MATLAB方面资料 周次前半周后半周 应完成内容收集消化资料、学习MA TLAB软件, 进行相关参数计算 编写仿真程序、调试 指导教师签字基层教学单位主任签字

目录 第1章前言 (3) 第2章数字信号处理部分基础知识 (3) 第3章 MATLAB部分基础知识 (8) 3.1 MATLAB介绍 (8) 3.2 MATLAB命令介绍 (8) 第4章仿真过程及仿真图 (9) 4.1 仿真程序 (9) 4.2 仿真波形 (10) 第5章设计结论 (10) 第6章参考文献 (11)

第一章 前言 《数字信号处理》课程设计是在学生完成数字信号处理和MATLAB 的结合后的基本实验以后开设的。本课程设计的目的是为了让学生综合数字信号处理和MATLAB 并实现一个较为完整的小型滤波系统。这一点与验证性的基本实验有本质性的区别。开设课程设计环节的主要目的是通过系统设计、软件仿真、程序安排与调试、写实习报告等步骤,使学生初步掌握工程设计的具体步骤和方法,提高分析问题和解决问题的能力,提高实际应用水平。 IIR 数字滤波器具有无限宽的冲激响应,与模拟滤波器相匹配,所以IIR 滤波器的设计可以采取在模拟滤波器设计的基础上进一步变换的方法。其设计方法主要有经典设计法、直接设计法和最大平滑滤波器设计法。FIR 数字滤波器的单位脉冲响应是有限长序列。它的设计问题实质上是确定能满足所要求的转移序列或脉冲响应的常数问题,设计方法主要有窗函数法、频率采样法和等波纹最佳逼近法等。 第2章 数字信号处理基础知识部分 2.1巴特沃斯滤波器的幅度平方函数及其特点 巴特沃斯模拟滤波器幅度平方函数的形式是 )N c N c a j j j H 222 )/(11 )/(11ΩΩ+= ΩΩ+= Ω (5-6)

实验-3-无限冲激响应滤波器(IIR)算法实验

实验3 :无限冲激响应滤波器(IIR)算法实验 一、实验目的 1. 熟悉IIR 数字滤波器特性; 2.掌握IIR数字滤波器的设计过程; 3.掌握IIR 数字滤波器性能测试方法。 二、实验设备 1.PC 兼容机 2.WIN7 操作系统 3.Code Composer Studio v5 三、实验内容 1.掌握IIR数字滤波器的基础理论; 2.基于MATLAB的IIR数字滤波器参数确定方法; 3.采用C语言编程实现低通IIR 滤波器; 4.掌握基于CCS的波形观察方法;观察滤波前后的波形变化。 四.实验原理分析 要求:使用低通巴特沃斯滤波器,设计通带截止频率f p为1kHz、增益为-3dB,阻带截止频率f st为12kHz、衰减为30dB,采样频率f s为25kHz。设计: 通带截止频率为:f p = 1000Hz,f st = 12000Hz

(一)、滤波器参数计算 ●模拟预畸变通带截止频率为:w p = 2f s tan(2πf p/(2f s)) = 6316.5 弧度/秒●模拟预畸变阻带截止频率为:w st = 2f s tan(2πf st/(2f s)) = 794727.2 弧度/秒 由式(7.5.24) ●N = 0.714,则:一阶巴特沃斯滤波器就足以满足要求。 一阶模拟巴特沃斯滤波器的传输函数为:H(s)=w p/(s+w p)=6316.5/(s+6316.5) 由双线性变换定义s=2f s(z-1)/(z+1)得到数字滤波器的传输函数为: 因此,差分方程为:y[n]=0.7757y[n-1]+0.1122x[n]+0.1122x[n-1]。 (二)、基于MATLAB的滤波器参数求解 (1)IIR数字滤波器阶次的选择的MATLAB函数 [N,w c] = buttord(w p,w st,Rp,As); [N,w c] = cheb1ord(w p,w st,Rp,As); [N,w c] = cheb2ord(w p,w st,Rp,As); [N,w c] = ellipord(w p,w st,Rp,As); 对低通滤波器,必须有w p < w st 对高通滤波器,必须有w p > w st 对带通滤波器,必须有w s1 < w p1 < w p2 < w s2 对带阻滤波器,必须有w p1 < w s1 < w s2 < w p2

数字脉冲整形滤波器基础

AN-922 应用笔记One Technology Way?P.O.Box9106?Norwood,MA02062-9106,U.S.A.?Tel:781.329.4700?Fax:781.461.3113? https://www.wendangku.net/doc/9013573289.html, 数字脉冲整形滤波器基础 by Ken Gentile 前言 在带宽受限环境下工作的数据传输系统,需要考虑下面的问题:限制信号的带宽必然会增加接收机端的误码率。带宽受限的系统常常采用脉冲整形技术,该技术可以解决带宽受限的问题,同时最大限度地减少误码率。 在数字滤波器面世之前,脉冲整形电路是用模拟滤波器来实现的。不幸的是,模拟滤波器的响应特性受到元件值波动的影响,这种波动由公差范围、温度和老化等参数来标定。与之相比,数字滤波器的响应特性仅仅受到滤波器系数的影响,而这些系数不会随着温度与老化而变化。于是,数字脉冲整形滤波器已经成为许多数字化数据传输系统的一部分。本应用文档描述了脉冲整形技术的基本原理,并介绍了数字脉冲整形滤波器设计中需要考虑的一些问题。 矩形脉冲 在数字传输中,最基本的信息单元是矩形脉冲。它具有确定的幅值A和确定的持续时间T。图1示出了这样一个脉冲,其中A = 1, T = To,脉冲的中心点为时间坐标原点,t=0。一般说来,一系列这种脉冲(每个相对于前一个延迟了T秒)构成了信息的传送。这种情况下,信息是按脉冲的幅值来编码的。最简单的情况是,二进制0被编码为没有脉冲(A=0),而二进制的1则编码为存在脉冲(A=常数)。因为每个脉冲的持续跨度为周期T,则最大的脉冲率为1/T个脉冲每秒,这对应着1/T bit/s的数据传输速率。 在更复杂的数据传输方案中,脉冲的幅值可以取正值和负值,而且还可以取多个离散的幅值,它们可以用来为多于1位的信息进行编码。例如,4个电平可以用来对两位信息进行编码,其中每个电平分别对应4种编码之一。在某些情况下,可以同时传输多个脉冲,这样就可以对更多的bit进行编码 (参见“多位编码”一节)。 图1.单个矩形脉冲(T = T O, A = 1) I在复杂的传输系统中,具有多种幅值和/或多路同时发出的脉冲可以传输单个单元数据。于是,每个数据单元可以表示1位以上的信息。单个数据单元所表示的一组数据位,被称为一个码元。当然,最简单的情况,就是图1所示的单个双极型脉冲,其中每个数据单元即是单个数据位(在这种情况下,码元和位是同义词)。 用于传输码元的脉冲将占据一段固定的时间间隔T(如图1中所示)。于是脉冲率为1/T个脉冲/s,即每秒1/T个码元的码率。单位为码元/s也常被称为波特(baud)。以bit/s表示的数据传输率则等于波特率乘以每个码元所表示的位的数量。例如,如果一个码元代表了4个bit,则比特率是码率的4倍。与直接传输数据位相比,这意味着可以采用更低的传输速率来传送编码,这也正是在复杂的数据传输系统将不同的位组合编码成码元的原因。应用文档余下的部分将专注于讨论如何用单个双极型的脉冲来进行单bit传输。也就是说,逻辑1可以由一个具有单位幅值的脉冲的出现来表示,逻辑0则可以由脉冲的消失(即脉冲幅值为0)来表示。当然,文档中所讨论的概念,可以用于更复杂的编码方案。

数字滤波器的设计及实现

数字滤波器的设计及实现 【一】设计目的 1. 熟悉IIR 数字滤波器和FIR 数字滤波器的设计原理和方法; 2. 学会调用MATLAB 信号处理工具箱中的滤波器设计函数设计各种IIR 和FIR 数字滤波器,学会根据滤波要求确定滤波器指标参数; 3. 掌握用IIR 和FIR 数字滤波器的MA TLAB 实现方法,并能绘制滤波器的幅频特性、相频特性; 4. 通过观察滤波器的输入、输出信号的时域波形及其频谱,建立数字滤波的概念。 【二】设计原理 抑制载波单频调幅信号的数学表达式为 []))(2cos())(2cos(2 1)2cos()2cos()(000t f f t f f t f t f t s c c c ++-==ππππ (2.1) 其中,)2cos(t f c π称为载波,c f 为载波频率,)2cos(0t f π称为单频调制信号,0f 为调制正弦波信号频率,且满足0c f f >。由(2.1)式可见,所谓抑制载波单频调制信号,就是两个正弦信号相乘,它有2个频率成分:和频c f +0f ,差频c f -0f ,这两个频率成分关于载波频率c f 对称。所以,1路抑制载波单频调幅信号的频谱图是关于载波频率c f 对称的两根谱线。 复合信号st 产生函数mstg 清单: function st=mstg %产生信号序列st ,并显示st 的时域波形和频谱 %st=mstg 返回三路调幅信号相加形成的混合信号,长度N=800 N=800; %信号长度N 为800 Fs=10000;T=1/Fs;Tp=N*T; %采样频率Fs=10kHz ,Tp 为采样时间 t=0:T:(N-1)*T;k=0:N-1;f=k/Tp; fc1=Fs/10; %第1路调幅信号载波频率fc1=1000Hz fm1=fc1/10; %第1路调幅信号的调制信号频率fm1=100Hz fc2=Fs/20; %第2路调幅信号载波频率fc2=500Hz fm2=fc2/10; %第2路调幅信号的调制信号频率fm2=50Hz fc3=Fs/40; %第3路调幅信号载波频率fc3=250Hz fm3=fc3/10; %第3路调幅信号的调制信号频率fm3=25Hz xt1=cos(2*pi*fm1*t).*cos(2*pi*fc1*t); %产生第1路调幅信号 xt2=cos(2*pi*fm2*t).*cos(2*pi*fc2*t); %产生第2路调幅信号 xt3=cos(2*pi*fm3*t).*cos(2*pi*fc3*t); %产生第3路调幅信号 st=xt1+xt2+xt3; %三路信号相加,得到复合信号

实验五、无限冲激响应(IIR)数字滤波器的设计

实验四、无限冲激响应(IIR)数字滤波器的设计 一、实验目的 1、熟悉用双线性变换法设计IIR数字滤波器的原理与方法;掌握数字滤波器的计算机仿真方法。 2、掌握用Matlab软件设计流程。 二、实验设备 微型计算机、Matlab7.0教学版 三、实验原理 数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按预定的形式变化。数字滤波器有多种分类,根据数字滤波器冲击响应的时域特征,可以将数字滤波器分为两种,即无限长冲击响应滤波器(IIR)和有限长冲激响应滤波器(FIR)。 在MATLAB中,可以通过调用simulink中的功能模块,可以构成数字滤波器的仿真框图。在仿真过程中,双击各个功能模块,随时改变参数,获得不同状态下的仿真结果。 四、实验内容 (1)用fdatool设计一个IIR低通滤波器(具体参数不要求) (2)并用simulink 仿真 (3)对滤波器输入一个含噪信号并能观察到滤波前后的波形 (4)对结果进行分析。 五、实验结果 1、Simulink仿真原理图 2、Filter参数设置

Scope Scope1

Scope2 六、实验总结 通过这次实验,我熟悉用双线性变换法设计IIR数字滤波器的原理与方法;掌握数字滤波器的计算机仿真方法。熟悉和了解了simulink仿真的真个过程。Simulink中各种非常有用的工具箱不仅对于设计IIR数字滤波器非常有用,而且对于整个型号仿真处理具有相当可视化的效果,从仿真的角度看,是达到了技术指标的要求。Simulink是一个进行动态系统建模、仿真和综合分析的集成软件包。它可以处理的系统包括:线性、非线性系统:离散、连续及混合系统;单任务、多任务离散时间系统。

短时脉冲滤波器

PSoC ? Creator? 组件技术资料 赛普拉斯半导体公司 ? 198 Champion Court ? San Jose, CA 95134-1709 ? 408-943-2600 文档编号:001-84781 修订版 *A 修订版: 2013 年22月3日 特性 ? 消除数字输入线路中不需要的“短时脉冲” ? 可编程的滤波长度和旁路选项 概述 短时脉冲过滤是一个用于清除通常是高低电平的数字输入信号中不需要的脉冲的过程。短时脉冲频繁出现在携带来自如RF 接收器的信号的线路上。电气干扰或者甚至在某些情况下机械干扰可以触发此接收器中出现不需要的短时脉冲脉冲。 此设计仅在当前一批的 N 个采样和上一批的 N 个采样为 ‘1’ 时才输出 ‘1’,且仅在当前一批的 N 个采样和上一批的 N 个采样为 ‘0’ 时才输出 ‘0’。否则,输出将保留其当前的值。 有关短时脉冲过滤的更多详细信息,请参见应用笔记 AN60024。 何时使用短时脉冲滤波器 短时脉冲滤波器组件可与任何数字输入配合使用;它通常与连接至输入引脚的线路上的噪音干扰相关联。因为它可以处理很多由固件处理的工作,因此当基于固件的短时脉冲滤波器解决方案不可行时,可以使用此组件。 输入/输出连接 本节介绍短时脉冲滤波器组件的输入和输出连接。 d - 输入 被采样的输入。此输入通常连接至输入引脚组件。 复位 — 输入 同步复位,至少需要一个时钟上升沿。复位输入可以不连接外部信号,至于悬空状态。如果复位线路无任何连接,则组件将为其分配常数逻辑 0。 短时脉冲滤波器 2.0

短时脉冲滤波器 PSoC ? Creator? 组件基本介绍 第 2 页,共 5 页 文档编号:001-84781 修订版 *A 时钟 — 输入 用于对 ‘d’ 输入进行采样的时钟。其频率取决于通过滤波器的预期短时脉冲脉冲宽度和延迟。 q — 输出 当当前一批的 N 个采样和上一批的 N 个采样为逻辑 ‘1’ 时,此输出设置为逻辑 ‘1’;当当前一批的 N 个采样和上一批的 N 个采样为 ‘0’ 时,此输出设置为 ‘0’。否则,输出将保留其当前的值。 组件参数 将一个短时脉冲滤波器组件拖放到您的设计上,并双击以打开 Configure (配置)对话框。 Signal Width (信号宽度) 此参数配置将被过滤的信号宽度。 此值可以设置为 1 到 24。默认设置为 1 bit (1 位)。 Glitch Length (短时脉冲长度) 确定在传送至输出之前为了保证输入稳定而需要的采样的数量。此值的范围为 1 到 256 个时钟周期。默认设置为 3。 Bypass Filter (旁路滤波器) 指定将被立即传送至输出的逻辑电平。Bypass Filter (旁路滤波器)Logic zero (逻辑零)选项使得短时滤波器输出在下一个时钟周期为逻辑 ‘0’,‘d’ 输入处于逻辑 ‘0’。同样,还有 Bypass Filter (旁路滤波器) Logic one (逻辑零)的选项。默认设置为 None (无)。

数字滤波器的设计课程设计

数字信号及MATLAB实现课程设计报告数字滤波器的设计 学院:电气学院 班级: 姓名: 学号: 指导老师: 2014年1月

《数字信号处理及MA TLAB实现》课程设计 目录 目录 (1) 第一章绪论 (2) 1.1.1 数字滤波器的优越性 (2) 1.1.2 数字滤波器的实现方法 (3) 1.1.3主要研究内容 (4) 第二章摘要 (5) 第三章报告正文 (6) 第一节 IIR滤波器的设计 (6) 3.1.1流程框图 (6) 3.1.2 设计步骤 (6) 3.1.3 IIR数字滤波器的设计方法 (7) 3.1.4 MATLAB程序 (9) 3.1.5 运行结果及分析: (10) 第二节 matlab FDATool界面数字滤波器设计 (11) 3.2.1 Faldstool (11) 3.2.2 用Fdatool进行带通滤波器设计 (13) 第三节系统对象滤波器设计 (15) 3.3.1设定系统的仿真对象 (15) 3.3.2系统对象滤波器设计方法 (15) 3.3.3 MATLAB程序仿真设计 (15) 第四章总结 (21) 参考文献 (22)

第一章绪论 1.1.1 数字滤波器的优越性 数字信号处理由于具有精度高、灵活性强等优点,已广泛应用于图像处理、数字通信、雷达等领域。数字滤波技术在数字信号处理中占有极其重要的地位,数字滤波器根据其单位脉冲响应可分为IIR(无限长冲激响应滤波器)和FIR(有限长冲激响应滤波器)两类。IIR滤波器可以用较少的阶数获得很高的选择特性,但在有限精度的运算中,可能出现不稳定现象,而且相位特性不好控制。数字滤波器本质上是一个完成特定运算的数字计算过程,也可以理解为是一台计算机。 数字滤波器又分为无限冲激响应滤波器(IIR)和有限冲激响应滤波器(FIR)。FIR滤波器具有不含反馈环路、结构简单以及可以实现的严格线性相位等优点,因而在对相位要求比较严格的条件下,采用FIR数字滤波器。同时,由于在许多场合下,需要对信号进行实时处理,因而对于单片机的性能要求也越来越高。由于DSP控制器具有许多独特的结构,例如采用多组总线结构实现并行处理,独立的累加器和乘法器以及丰富的寻址方式,采用DSP控制器就可以提高数字信号处理运算的能力,可以对数字信号做到实时处理。DSP(数字信号处理器)与一般的微处理器相比有很大的区别,它所特有的系统结构、指令集合、数据流程方式为解决复杂的数字信号处理问题提供了便利,本文选用TMS320C5509作为DSP处理芯片,通过对其编程来实现IIR滤波器。 对数字滤波器而言,从实现方法上,有FIR滤波器和无限冲激响应(IIR)滤波器之分。由于FIR滤波器只有零点,因此这一类系统不像IIR系统那样易取得比较好的通带与阻带衰减特性。但是IIR系统与传统的通过硬件电路实现的模拟滤波器相比有以下优点: 1、单位冲击响应有无限多项; 2、高效率(因为结构简单、系数小、乘法操作较少) 3、与模拟滤波器有对应关系 4、可以解析控制,强制系统在指定位置为零点 5、有极点,在设计时要考虑稳定性 6、具有反馈,可能产生噪声、误差累积

有限冲击响应FIR_滤波器的设计完美版

专业班级 学号 姓名 成绩 有限冲击响应FIR 滤波器的设计 一、设计目的 1、掌握数字滤波器的设计过程; 2、了解FIR 的原理和特性; 3、熟悉设计FIR 数字滤波器的原理和方法; 4、学习FIR 滤波器的DSP 实现原理; 5、学习使用ccs 的波形观察窗口观察输入、输出信号波形和频谱变化情况。 二、设计内容 1、通过MATLAB 来设计一个低通滤波器,对它进行模拟仿真确定FIR 滤波器系数; 2、用DSP 汇编语言进行编程,实现FIR 运算,对产生的合成信号,滤除信号中高频成分,观察其滤波前后的波型变化。 三、设计原理 滤波器就是在时间域或频域内,对已知激励产生规定响应的网络。使其能够从信号中提取有用的信号,抑制并衰减不需要的信号,滤波器的设计实质上就是对提出的要求给出相应的性能指标.再通过计算,使物理可实现的实际滤波器响应特性逼近给出的频率响应特性。 FIR 数字滤波器是一种非递归系统,其传递函数为: H (z) =Y(Z)/X(Z)=∑b(n)z -n ……………………………………装………………………………………订…………………………………………线………………………………………

由此可得到系统的差分方程为: y(n ) = ∑h ( i ) x ( n -i) 其激响应h(n)是有限长序列,它其实就是滤波器系数向量b ( n ) , N 为FIR 滤波器的阶数. 在数字信号处理应用中往往需要设计线性相位的滤波器,FIR 滤波器在保证幅度特性满足技术要求的同时,易做到严格的线性相位特性。为了使滤波器满足线性相位条件,要求其单位脉冲响应h(n)为实序列,且满足偶对称或奇对称条件,即h ( n )=h(N-1-n)或h(n)=h(N-1-n)。这样,当N 为偶数时,偶对称线性相位F 讯滤波器的差分方程表达式为 Y(n)= ∑h ( i ) (x ( n -i)+x(N-1-n-i)) 由上可见,FIR 滤波器不断地对输入样本x(n)延时后,再做乘法累加算法,将滤波器结果y(n)输出。因此,FIR 实际上是一种乘法累加运算。而对于线性相位FIR 而言,利用线性相位FIR 滤波器系数的对称特性,可以采用结构精简的FIR 结构将乘法器数目减少一半。 FIR滤波器的单位脉冲h(n)是一个有限长序列。若h(n)为实数,且满足偶对称或是奇对称的条件,则FIR滤波器具有相位特性,FIR数字滤波器具有以下几个特点:FIR滤波器无反馈回路,是一种无条件稳定系统。 四、总体方案设计 1、有给定的设计参数,滤波器系数可由MATLAB中的函数产生。 2、在CCS中采用汇编源程序来实现FIR数字滤波器 步骤1):创建工程文件project/new/myproject 保存时加后缀。 2):在file/new/sourcefile进行汇编语言并将其添加到工程文件。

实验 3 无限冲激响应滤波器(IIR)算法实验

实验 3 :无限冲激响应滤波器(IIR)算法实验 一、实验目的 1. 熟悉IIR 数字滤波器特性; 2.掌握IIR数字滤波器的设计过程; 3.掌握 IIR 数字滤波器性能测试方法。 二、实验设备 1.PC 兼容机 2.WIN7 操作系统 3.Code Composer Studio v5 三、实验内容 1.掌握IIR数字滤波器的基础理论; 2.基于MATLAB的IIR数字滤波器参数确定方法; 3.采用C语言编程实现低通IIR 滤波器; 4.掌握基于CCS的波形观察方法;观察滤波前后的波形变化。 四.实验原理分析 要求:使用低通巴特沃斯滤波器,设计通带截止频率f p为1kHz、增益为-3dB,阻带截止频率f st为12kHz、衰减为30dB,采样频率f s为25kHz。设计: 通带截止频率为:f p = 1000Hz,f st = 12000Hz (一)、滤波器参数计算 ●模拟预畸变通带截止频率为:w p = 2f s tan(2πf p/(2f s)) =6316.5 弧度/秒 ●模拟预畸变阻带截止频率为:w st = 2f s tan(2πf st/(2f s)) = 794727.2 弧度/秒 由式(7.5.24) ●N = 0.714,则:一阶巴特沃斯滤波器就足以满足要求。 一阶模拟巴特沃斯滤波器的传输函数为: H(s)=w p/(s+w p)=6316.5/(s+6316.5) 由双线性变换定义 s=2f s(z-1)/(z+1)得到数字滤波器的传输函数为: 因此,差分方程为: y[n]=0.7757y[n-1]+0.1122x[n]+0.1122x[n-1]。 (二)、基于MATLAB的滤波器参数求解

脉冲成形滤波器的设计

分类号论文选题类型 U D C 编号 本科毕业论文(设计) 题目脉冲成形滤波器的设计 院(系)物理科学与技术学院 专业电子信息科学技术 年级2007级 学生姓名张力 学号2007213154 指导教师楚育军 二○一一年五月

华中师范大学 学位论文原创性声明 本人郑重声明:所呈交的学位论文是本人在导师指导下独立进行研究工作所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。 学位论文作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保障、使用学位论文的规定,同意学校保留并向有关学位论文管理部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权省级优秀学士学位论文评选机构将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 本学位论文属于 1、保密□,在_____年解密后适用本授权书。 2、不保密□。 (请在以上相应方框内打“√”) 学位论文作者签名:日期:年月日 导师签名:日期:年月日

目录 内容摘要 (1) 关键词 (1) Abstract (1) Key Words (1) 1.引言 (2) 2.基带脉冲成形滤波的基本原理和设计方法 (3) 2.1基本原理 (3) 2.2 Matlab设计与仿真 (5) 3.基带脉冲成形滤波器的FPGA实现方法 (8) 3.1查表法基本原理 (8) 3.2实现结构 (8) 3.3 quartus仿真结果 (10) 4.结论 (11) 参考文献 (11) 致谢 (12)

实验无限冲激响应滤波器IIR算法实验

实验无限冲激响应滤波器 I I R算法实验 The final edition was revised on December 14th, 2020.

实验 3 :无限冲激响应滤波器(IIR)算法实验 一、实验目的 1. 熟悉IIR 数字滤波器特性; 2.掌握IIR数字滤波器的设计过程; 3.掌握 IIR 数字滤波器性能测试方法。 二、实验设备 兼容机 操作系统 Composer Studio v5 三、实验内容 1.掌握IIR数字滤波器的基础理论; 2.基于MATLAB的IIR数字滤波器参数确定方法; 3.采用C语言编程实现低通IIR 滤波器; 4.掌握基于CCS的波形观察方法;观察滤波前后的波形变化。 四.实验原理分析 要求:使用低通巴特沃斯滤波器,设计通带截止频率f p为1kHz、增益为-3dB,阻带截止频率f st为12kHz、衰减为30dB,采样频率f s为25kHz。设计: 通带截止频率为: f p = 1000Hz, f st = 12000Hz (一)、滤波器参数计算 模拟预畸变通带截止频率为: w p = 2f s tan(2πf p/(2f s)) = 弧度/秒 模拟预畸变阻带截止频率为:w st = 2f s tan(2πf st/(2f s)) = 弧度/秒 N = ,则:一阶巴特沃斯滤波器就足以满足要求。 一阶模拟巴特沃斯滤波器的传输函数为: H(s)=w p /(s+w p )=(s+ 由双线性变换定义 s=2f s (z-1)/(z+1)得到数字滤波器的传输函数为:因此,差分方程为: y[n]=[n-1]+[n]+[n-1]。 (二)、基于MATLAB的滤波器参数求解 (1)IIR数字滤波器阶次的选择的MATLAB函数 [N,w c ] = buttord(w p ,w st ,Rp,As); [N,w c ] = cheb1ord(w p ,w st ,Rp,As); [N,w c ] = cheb2ord(w p ,w st ,Rp,As); [N,w c ] = ellipord(w p ,w st ,Rp,As); 对低通滤波器,必须有w p < w st 对高通滤波器,必须有w p > w st 对带通滤波器,必须有 w s1 < w p1 < w p2 < w s2 对带阻滤波器,必须有 w p1 < w s1 < w s2 < w p2 (2) IIR数字滤波器的设计 [b,a] = butter(N,wc,’ftype’) [b,a] = cheby1(N,wc,’ftype’) [b,a] = cheby2(N,wc,’ftype’) [b,a] = ellip(N,wc,’ftype’)

成形滤波器的设计

1. 在本设计的软件流程详见系统框图。由于模块很多所以在此不再一一介绍。 下面是设计中的几个主要模块。其中分频模块,串并/并串模块比较简单,所以不再介绍。 信道估计模块的算法采用自己的LS 算法。上变频DDC 由于边频很高,所以拟采用AD 公司的ad9857,如果板子上没有专用器件的话,则改成基于FPGA 的DDC 。下边频在FPGA 中作。 图1 π/4-DQPSK 调制框图 k θ 图 2 π/4-DQPSK 解调框图 图3 8PSK 调制框图和顶层原理图 2 调制解调器的系统实现 在现代数字通信系统中,FPGA 的应用相当广泛。尤其是在对基带信号的处理和整个系统的控制中,FPGA 不但能大大缩减电路的体积,提高电路的稳定性,而且先进的开发工具使整个系统的设计调试周期大大缩短。本系统的核心算法也都是在FPGA 中实现的。 在调制端,数据首先在FPGA 中完成信道编码(本系统中此工作也可在DSP

中完成),然后有数据调制,分路,内插和成形滤波,信号在AD9857中完成直接数字上变频和数模转换,经过运放得到带宽为200kHz的中频信号。 发FPGA 图4 系统实现结构示意图 在解调端,模拟信号通过A/D采样器被搬移到低中频,并转化为数字信号,再由FPGA中设计的DDC将其下变频至基带。除此以外,收端FPGA还需要完成同步捕获,数据解调和信道解码,如果是相干解调还需要完成相干载波的恢复,最后输出解调数据。 2.1 成形滤波器设计 信号的相位跳变是瞬时变化的,瞬时变化的相位会使信号频谱发生扩散,导致需要非常大的信道带宽才能无失真地传输信号。为了把信号频谱限制在一个比较合理的范围内,对基带信号进行滤波是必不可少的。但是基带滤波会使信号在时域上扩展,如果设计不好将在接收端引起严重的码间干扰(ISI)。 奈奎斯特第一准则(第一无失真条件)告诉我们:如果信号经传输后整个波形发生了变化,但只要其特定点的抽样值保持不变,那么用再次抽样的方法仍然可以准确无误的恢复原始信号。也就是说,只要把通信系统包括发射机、信道和接收机的整个响应设计成在接收机端每个抽样时刻只对当前的符号有响应,而对其他符号的响应全等于0,那么ISI的影响便可消除。这是对奈奎斯特准则的时域描述。 满足奈奎斯特准则的滤波器有许多种,最简单的是理想低通滤波器。但是这种理想的滤波器是物理不可实现的,因为实际的滤波器不可能做到垂直截止,而且时域拖尾过长,运算时要求很高的精度且容易产生偏差。在实际通信系统中广泛应用的成形滤波器是升余弦滤波器,这是因为它具有以下的优点:

基于FPGA的数字滤波器的设计与实现

文章编号:1002-8684(2008)05-0023-03 基于FPGA的数字滤波器的设计与实现 陆宇鹏,邱宏安,田多华,邵立群 (西北工业大学航海学院,陕西西安710072) 【摘要】提出了一种基于FPGA的FIR线性相位滤波器设计方案,充分利用FPGA四输入查找表LUT结构构成向量乘法器,给出了对应的VHDL源程序及仿真结果,并讨论了设计误差原因及改进措施。与普通滤波器相比,基于查找表的FIR滤波器具有速度快、占用资源少的特点。采用流水线技术对加法运算进行处理,速度进一步提高。 【关键词】FPGA;FIR滤波器;VHDL;四输入查找表 【中图分类号】TN713【文献标识码】A DesignofFIRFilterBasedonFPGA LUYu-peng,QIUHong-an,TIANDuo-hua,SHAOLi-qun (CollegeofMarine,NorthwestPolytechnicalUniversity,Xi′an710072,China)【Abstract】ThedesignschemeofFIRlinearityphasicdigitalfilterbasedonFPGAisintroduced.TheFPGAfourimportLUTconfigurationisusedtomakeupofvectormultiplication,andtheVHDLsourceprogramandsimulatingresultsaregiven.Thedesignerrorcauseandimprovingmeasurearediscussed.Comparedwithcommonfilter,thefilterbasedLUThastheadvantagesofquickspeedandlessresource.Theproductionlinetechnologyisemployedtocarryouttreatmentonadditionarithmetic,andtoimprovespeed. 【Keywords】FPGA;FIRfilter;VHDL;LUT ?实用设计? 1指标的确定和滤波器系数的提取根据工程实际需要,选定FIR的性能指标如下:采样频率f s =1000Hz;截止频率fc=100Hz;类型:低通;阶数:16阶;8bit输入和输出数据宽度。 FIR滤波器的系数可用窗函数的方法来获得,窗函数法的基本思想是使其具有最窄主瓣宽度和尽可能小的旁瓣[1]。笔者选择利用矩形窗进行设计,因为在编制LUT表的过程中运算量较小。若不选择矩形窗而选择其他窗函数进行设计也是可行的,因为ROM的容量很大,在编制查找表时,常常只用到它的一小部分空间,只是在编制查找表时计算量会变得很大。 2系数的量化 Matlab模拟得到的脉冲成形滤波器的系数都是浮点数,转换成定点系数需要进行量化。理论上使量化误差最小的定点系数在数轴上是均匀分布的,而CSD编码的系数在数轴上是非均匀分布的。存在空隙,即使无限增加字长也不能减小这个空隙,要减小这个空隙只有增加非零位个数。而非零位个数L非常重要,直接关系到硬件规模,L每加1,每个抽头就需要增加一个加法运算。 h(n)是通过窗函数求得的,在实际编写查找表时,由于数据全部采用二进制的补码形式,因此若不改变表中h(n)的形式直接编制,则得到的结果会因为个别数据产生溢出而发生错误,如当有2个同符号数相加时就可能产生溢出,溢出现象是由于得到运算结果超出了8bit补码所能表示的数据范围。 为了防止这种情况的产生,笔者采用了将h(n)数据右移一位,并增加一位符号位的方法。此种方法在保持数据位数不变的前提下,是通过牺牲数据精度来得出正确结果的。 3FIR滤波器的算法分解及查找表的实现原理 基于FPGA进行FIR滤波器设计,主要是通过乘法器、加法器和移位寄存器来实现,其核心是乘累加功能[2]。查找表的方式是将乘法器用查找表来代替,由此来提高运算速度,减少资源占用,如图1所示,以8bit输入为例,说明如何使用查找表来实现乘累加运算的。以一个2bit正整数的例子加以说明。

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