1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第八讲,数字成型滤波器的实现,崔琳莉,主要内容,脉冲成型的理论基础;,VHDL,实现脉冲成型;,不同滚降系数的脉冲成型基础实验;,基于,FPGA,完成滚降系数的升余弦滤波器对,BPSK,信号进行基带调制。,脉冲成型实验,项目需用仪器设备:,计算机、软件无线电实验箱、示波器、,FPGA,仿真器、,5,V,电源,所需主要元器件及耗材:,连接线、计算机串口连接线,实验原理,1、脉冲成型的理论基础,在现代无线通信中,由于基带信号的频谱范围都比较宽,为了有效利用信道,在信号传输之前,都要对信号进行频谱压缩,使其在消
2、除码间干扰和达到最佳检测的前提下,大大提高频带的利用率。,奈奎斯特是第一个解决既能克服符号间干扰又保持小的传输带宽问题的人,。,1、脉冲成型的理论基础,只要把通信系统,(,包括发射机、信道和接收机,),的整个响应设计成在接收机端每个抽样时刻只对当前的符号有响应,而对其他符号的响应全等于零,那么符号间干扰,ISI,的影响就能完全被抵消,即消除符号间干扰的奈奎斯特,(,Nyquist),第,l,准则。,1、脉冲成型的理论基础,h(t,),无码间串扰示意图,1、脉冲成型的理论基础,在实际应用中,升余弦滤波器是运用较为广泛的成形滤波器,因为它有如下的优点:,1,)满足,Nyquist,第,1,准则;,
3、2,)可以消除理想低通滤波器设计上的困难,有一平滑的过渡带;,3,)通过引入滚降系数改变传输信号的成形波形,可以减小抽样定时脉冲误差所带来的影响,即降低码间干扰。,1、脉冲成型的理论基础,升余弦滤波器的传递函数为,:,其中,是滚降因子,取值范围,0,到,1,。当时,升余弦滚降滤波器对应于具有最小带宽的矩形滤波器。,滤波器的冲激响应,1、脉冲成型的理论基础,升余弦滤波器的频域传递函数及时域冲激响应,H(w),h(t),输入随机序列+1,-1通过0.5升余弦滤波器后的脉冲成型波形,2、,VHDL,实现脉冲成型,在程序中,我们首先产生升余弦滤波器系数,再将输入数据滤波输出,即可得到我们期望的滚将系数
4、0.5,或,0.8,)的升余弦信号成型波形。,这里重点介绍如何生成各种滚降系数的升余弦滤波器系数。,1)利用,MATLAB,生成升余弦滚降滤波器系数,2)将升余弦滤波器系数转换为,VHDL,数组,3)将信号滤波输出,即得到脉冲成型信号,2、,VHDL,实现脉冲成型,1)利用,MATLAB,生成升余弦滚降滤波器系数,在,MATLAB,中,可以利用函数,rcosine,得到升余弦滤波器系数,NUM,DEN=RCOSINE(Fd,Fs,TYPE_FLAG,R,DELAY),其中,,Fd,表示数字信号频率;,Fs,表示滤波器采样频率,且,Fs/Fd,必须是一个正整数。,TYPE_FLAG,表示设计
5、的滤波器的类型,可以是,iir、sqrt、,或者它们的组合,iir/sqrt,,也可以是常规类型,normal。R,表示滚降系数,取值范围是0,1.。,DELAY,表示滤波器延迟,必须为一个正整数,,DELAY/Fd,可以得到以秒为单位的滤波器延迟。,2、,VHDL,实现脉冲成型,我们以产生0.8滚降系数的升余弦滤波器为例,,Fd1;Fs8;TYPE_FLAG,取“,fir”,,即可得到49个滤波器系数:,-0.0000 -0.0012 -0.0036 -0.0064 -0.0085 -0.0088 -0.0068 -0.0032 0.0000 -0.0000 -0.0058 -0.0185
6、0.0361 -0.0530 -0.0600 -0.0460 0.0000 0.0852 0.2108 0.3696 0.5465 0.7202 0.8671 0.9654 1.0000 0.9654 0.8671 0.7202 0.5465 0.3696 0.2108 0.0852 0.0000 -0.0460 -0.0600 -0.0530 -0.0361 -0.0185 -0.0058 -0.0000 0.0000 -0.0032 -0.0068 -0.0088 -0.0085 -0.0064 -0.0036 -0.0012 -0.0000,2、,VHDL,实现脉冲成型,2)将升余弦滤
7、波器系数转换为,VHDL,数组,假定,VHDL,中的滤波器系数数组大小为33.,我们可取滤波器对应的单位冲激响应正负两个第二零点之间的,33,个样本(,9,41,,包括左右两个,0,),,然后进行幅值放大(如这里调整为原始系数*,100,)并取为整数,,最后再转换为二进制数,就得到一个包含,33,个,10,bit,的向量的数组,由此来近似,FIR,形式的升余弦滚降滤波器。,注意,这里将滤波器系数用二进制的补码表示。,2、,VHDL,实现脉冲成型,3)将信号滤波输出,即得到脉冲成型信号,脉冲成形的过程,其实就是输入数据,din,和升余弦滚将滤波器的时域响应进行卷积的过程。,在程序中,我们对于每一
8、次的输入,din,,在经过和滤波器系数,filter_coef(,长度为10,bit),卷积后,都会得到一个对应的输出,filter_dout(,长度为10,bit)。,实验内容,(,1,)脉冲成型基础验证实验;观察不同滚降系数的脉冲成型信号的时域波形及频谱;,(,2,)脉冲成型扩展实验:,基于,FPGA,完成滚降系数的升余弦滤波器对,BPSK,信号进行基带调制。,实验内容,1,脉冲成型基础实验,1)启动软件无线电实验平台基础实验脉冲成型实验,2)选择,“,1,”,进入半正弦脉冲成形仿真实验窗。,3)按照软件无线电实验平台界面的提示进行后续操作,将示波器分别观测实验平台,TXI,和,TXQ,端
9、口,通过示波器观察输出波形和频谱。,4)根据示波器上产生波形的频谱图,观察并记录该发送波形的频谱特征,实验内容,1,脉冲成型基础实验,4)根据示波器上产生波形的频谱图,观察并记录该发送波形的频谱特征,主瓣过零点带宽,(,dB),主瓣与第一旁瓣增益差,(,dB),第一旁瓣带宽,(,dB),按照以上同样的方法,观察并记录滚降系数为0.5、0.8的升余弦滚降,脉冲成型情况,实验内容,2,脉冲成型扩展实验,扩展实验主要完成不同滚降系数的升余弦滤波器对,BPSK,信号进行基带调制。,A、,从系统平台界面程序进入扩展实验,FPGA,扩展实验基带信号调制实验;,B、,在,ISE,中打开,FPGA_modul
10、ate,工程,在,modula_main.vhd,中,确定,Constant modulation_sel:std_logic_vector(3 downto 0):=“0100”;,C,、,编译,pulse_shaping,工程,原程序中包含基于滚降系数,0.8,的脉冲成型,完成后将,bit,文件下载到,FPGA,中,。,实验内容,2,脉冲成型扩展实验,D,、在,ARM,界面中输入要被调制的数据,然后按“确认”键,在示波器上观察输出时域波形及其频谱。,E、,打开,pulse_shaping_filter.vhd,文件,基于,VHDL,补充完成滚降系数,0.25,的升余弦滤波器,实现,BPSK,信号的基带调制;,F,、再次编译,pulse_shaping,工程,完成后将,bit,文件下载到,FPGA,中。,G、,再次在,ARM,界面中输入要被调制的数据,然后按“确认”键,在示波器上观察输出时域波形及其频谱。,思考题,不同滚降系数的升余弦滤波器对系统的影响。,






