基于Matlab设计的多信道接收器——电子科技大学《软件无线电》课程设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
多相滤波结构的重要应用之一是在输出被抽取的滤波器结构上,下图 为带抽取器的滤波结构。
上图的结构在很多信号处理过程中都能用到,本文抽取器设计也用到 此高效结构。它的意义是滤波在降速后进行,很大程度地降低了对硬件处 理速度的要求,提高了实时处理能力。这种结构在提高了处理速度的同 时,也可以减少滤波运算的累积误差,提高计算精度,因为每一分支路滤 波器的系数由原来的N个减少为N/M个。
二、 原理
1. 多信道接收机技术 所谓的多信道处理就是要求接收机能够同时并行处理来自多个信道的
调制信号。该多通道道实现方案是基于滤波器组的信道化接收机,其中心 思想是用一组滤波器实现多个子信道的提取,其结构如下图所示:
这种结构的子信道的划分方法通常为均匀划分,也就是说将一个宽带 的信号均匀划分为N个子信道,只要信号落在这个大的带宽范围内,就一 定会被某个子信道捕获。
%%%%%%%%%%%%生成低通原型滤波器%%%%%%%%%%%% f=[0 0.05 0.0625 1]; m=[1 1 0 0]; h=fir2(1023,f,m);
%%%%%%%%%%%将低通原型滤波器重新排列,分组%%%%%%%%%%% h0=downsample(h,M,0); h1=downsample(h,M,1); h2=downsample(h,M,2); h3=downsample(h,M,3); h4=downsample(h,M,4); h5=downsample(h,M,5); h6=downsample(h,M,6); h7=downsample(h,M,7); h8=downsample(h,M,8); h9=downsample(h,M,9); h10=downsample(h,M,10); h11=downsample(h,M,11); h12=downsample(h,M,12); h13=downsample(h,M,13); h14=downsample(h,M,14); h15=downsample(h,M,15);
下面来推导多相结构
其中,ℎ0(������)为原型低通滤波器。 若定义,
注意到此时,x序列为逆序而h序列为顺序。
于是,代入上式得:
������−1
= ∑ {[������������(������)������������������������������������] ∗ ℎ������(������)}������−������������������������
这里取输入信号为以下几个频率,幅度均不同的正弦信号的叠加: fc1=9.1MHz; fc2=8.3 MHz; fc3=7.7 MHz; fc4=6.9 MHz ; fc5=4.75 MHz; fc6=4 MHz; fc7=3.25 MHz; fc8=0.5 MHz; 因为采样率为51.2MHz,所以信号带宽为25.6MHz,仿真结果如下图所示:
术将FIR滤波器放到低采样率的一端。 首先,从滤波器入手考虑,设FIR滤波器的转移函数为: 其中,N为滤波器的阶数,h(n)为滤波器的冲激响应,将h(n)分为M
组,每组有L个系数,L=N/M。将上式展开并重新分组得:
+ℎ(������ − 1)������−������+1 + ℎ(2������ − 1)������−2������+1 + ⋯ + ℎ[(������ − 1)������ + ������ − 1]������−������������+1
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %
% % 程序分析:
%%
% % 本程序首先生成了一个由8个频率不同的正弦信 % %
% % 号组成的输入信号(频谱图见figure1),和一个归 % %
% % 一化截止频率为0.07的低通原型滤波器。接着将它们 % %
分析:图一为输入信号频谱示意图,可以看出其输入频率分量的范围在9.1MHz到9.1MHz之间;
经多相滤波后,每个子信道的带宽为3.2MHz,它们的频谱图分别如下:
分析:图二为子信道y0-y3的频谱图,对应频率范围:-24.0MHz——-11.2MHz, 图二中没有输出信号分量;图三为子信道y4-y7的频谱图,对应输出频率范围为11.2MHz——1.6MHz,其中y4中的输出分量是-9.1MHz和-8.3MHz,y5的输出分量是 -7.7MHz和-6.9MHz,y6的输出分量是-4.75MHz(不明显)、-4.0MHz和-3.25MHz, y7的输出分量是-0.5MHz和0.5MHz;
%%%%%%%%%%%将输入x分为M个部分,逆序排列%%%%%%%%%%%%
x0=downsample(x,M,0); x1=downsample(x,M,15); x2=downsample(x,M,14); x3=downsample(x,M,13); x4=downsample(x,M,12); x5=downsample(x,M,11); x6=downsample(x,M,10); x7=downsample(x,M,9); x8=downsample(x,M,8); x9=downsample(x,M,7); x10=downsample(x,M,6); x11=downsample(x,M,5); x12=downsample(x,M,4); x13=downsample(x,M,3); x14=downsample(x,M,2); x15=downsample(x,M,1);
������=0
定义:������������(������) = [������������(������)������������������������������������] ∗ ℎ������(������) 则有:
������������(m) = ∑������������=−01{������������(������)}������−������������������������
令:
则转移函数为:
其中,
称为
的多相分量;
若将
中的z换成������������������,
则:
其中,������−������������表示不同的k(k=1,2,…,M-1)具有不同的相位,所以称为
多相滤波结构,如下图所示。
多相滤波的实质可以看作按相位均分的关系把数字滤波器的转移函数 H(z)分解成若干个不同相位的组,形成多个分支,在每个分支上实现滤 波。这样做的目的就是用其分支上阶数较少的滤波来实现原来阶数很大的 H(z)的滤波。这样做的意义在于工程上易于实现,能高效的进行实时信号 的处理。
电 子 科 技 大 学
《软件无线电》多相滤波结构接收器 姓名:xxx
学号:20121910100xx
一、 课程设计题目
基于多相滤波结构的多信道接收机,满足以下条件: 采样率: fs 51.2MHz ; 原型滤波器阶数:L=1024; 信道数:M=16; 子带宽度: fs / M 3.2MHz 。
分析:图四为子信道y8-y11的频谱图,对应频率范围:1.6MHz——-14.4MHz, 其中y8中的输出分量是3.25MHz和4.0MHz,y9的输出分量是4.75MHz(不明显)、 6.9MHz和7.7MHz,y10的输出分量是8.3MHz和9.1MHz,y11无输出量;图五为信道 y12-y15的频谱图,对应频率范围:14.4MHz——-27.2MHz,其中无输出信号分量。
四、 总结
通过本次课程设计,我进一步加深了对软件无线电中的多速率抽取信号的理 解,同时巩固了Matlab中各类函数的用法。实际操作和理论知识的结合,让我 能够在学习和应用之间更好的找到一个平衡点,从而完成设计任务。
附录: 我的代码:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%% 《软件无线电》课程设计 %%%%%%%% %%%%%%%%%基于多相滤波结构的多信道接收机%%%%%%%%% %%%%%%%%姓名:xxx 学号:20121910100xx%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
若把信道划分如下图所示:
则有,中心频率 将其带入������������ (������)与
������������ (m),有:
即可得到基于复多相滤波器的信道化接收机的组成结构,如下图所示
三、 仿真实现
基于题目要求,我编写了Matlab程序来实现多相滤波的要求(源代码见附 录),并成功进行了仿真验证。
%%%%%%%%%%%生成输入信号x%%%%%%%%%%%% fc1=9.1e6; fc2=8.3e6; fc3=7.7e6; fc4=6.9e6; fc5=4.75e6; fc6=4e6; fc7=3.25e6; fc8=0.5e6;
x=cos(2*pi*fc1*t)+2*cos(2*pi*fc2*t)+3*cos(2*pi*fc3*t)+4*cos(2*pi*fc4*t)+... 5*cos(2*pi*fc5*t)+6*cos(2*pi*fc6*t)+7*cos(2*pi*fc7*t)+16*cos(2*pi*fc8*t);
% % 下采样分成16组子输入和16组低通子滤波器,再将它 % %
% % 们的卷积作16点DFT运算得到16组信号输出,得到y0 % %
% % -y15(频谱图见figure2-figure5)。
%%
% %Fra Baidu bibliotek经分析,输出信号y0-y15与输入信号x的频谱图 % %
% % 相符,说明该多信道接收机设计成功。
%%%%%%%%%%将输入信号各项分量与子滤波器在频域上相乘,即在时域上做卷积%%%%%%%% X0=fft([x0 zeros(1,length(h0)-1)]); H0=fft([h0 zeros(1,length(x0)-1)]);
s0=ifft(X0.*H0);
X1=fft([(x1) zeros(1,length(h1)-1)]); H1=fft([h1 zeros(1,length(x1)-1)]); s1=ifft(X1.*H1);
2. 多相滤波结构 然而,上图所示抽取模型对于运算速度的要求很高,因为低通滤波器
是在降速前实现的。这样抗混叠低通滤波器在高取样率条件下工作,大大 提高了对于运算速度的要求,影响了信号的实时处理。下边介绍一种有利 于实时处理的抽取器结构---多相滤波结构。
它为了降低滤波器复杂度,利用多速率信号处理理论中的多相滤波技
经过改进,每个滤波器的阶数降为N/M(N为原始滤波器阶数,M为信道 数),由以上分析可知,每个滤波器进行乘加运算的速度为
(次乘加/秒) 只是原始处理方式的对滤波器速度要求的������2分之一,当M较大时,对 运算速度的要求将大大降低,所以,在实时性要求较高的场合,采用多相 滤波结构来实现抽取器是非常有效的。 3. 多相滤波实现分析 在信道化接收低通实现中,第k个子信道的输出可以理解为输入信号 x(n)先将某一子信道的中心频率������������向左平移到坐标原点,然后经过原型 低通滤波器滤除多余的信号,最后再进行D倍抽取,得到第k路的输出 ������������(������)。这个过程如下图所示:
%%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %
%%%%%%%%初始化%%%%%%%%%%%%%%% clc; clear; T=40000;%采样点数 M=16;%信道数 fs=51.2e6;%采样率 ts=1/fs;%采样步长 t=0:1/fs:(T-1)/fs;
X2=fft([x2 zeros(1,length(h2)-1)]); H2=fft([h2 zeros(1,length(x2)-1)]); s2=ifft(X2.*H2);
上图的结构在很多信号处理过程中都能用到,本文抽取器设计也用到 此高效结构。它的意义是滤波在降速后进行,很大程度地降低了对硬件处 理速度的要求,提高了实时处理能力。这种结构在提高了处理速度的同 时,也可以减少滤波运算的累积误差,提高计算精度,因为每一分支路滤 波器的系数由原来的N个减少为N/M个。
二、 原理
1. 多信道接收机技术 所谓的多信道处理就是要求接收机能够同时并行处理来自多个信道的
调制信号。该多通道道实现方案是基于滤波器组的信道化接收机,其中心 思想是用一组滤波器实现多个子信道的提取,其结构如下图所示:
这种结构的子信道的划分方法通常为均匀划分,也就是说将一个宽带 的信号均匀划分为N个子信道,只要信号落在这个大的带宽范围内,就一 定会被某个子信道捕获。
%%%%%%%%%%%%生成低通原型滤波器%%%%%%%%%%%% f=[0 0.05 0.0625 1]; m=[1 1 0 0]; h=fir2(1023,f,m);
%%%%%%%%%%%将低通原型滤波器重新排列,分组%%%%%%%%%%% h0=downsample(h,M,0); h1=downsample(h,M,1); h2=downsample(h,M,2); h3=downsample(h,M,3); h4=downsample(h,M,4); h5=downsample(h,M,5); h6=downsample(h,M,6); h7=downsample(h,M,7); h8=downsample(h,M,8); h9=downsample(h,M,9); h10=downsample(h,M,10); h11=downsample(h,M,11); h12=downsample(h,M,12); h13=downsample(h,M,13); h14=downsample(h,M,14); h15=downsample(h,M,15);
下面来推导多相结构
其中,ℎ0(������)为原型低通滤波器。 若定义,
注意到此时,x序列为逆序而h序列为顺序。
于是,代入上式得:
������−1
= ∑ {[������������(������)������������������������������������] ∗ ℎ������(������)}������−������������������������
这里取输入信号为以下几个频率,幅度均不同的正弦信号的叠加: fc1=9.1MHz; fc2=8.3 MHz; fc3=7.7 MHz; fc4=6.9 MHz ; fc5=4.75 MHz; fc6=4 MHz; fc7=3.25 MHz; fc8=0.5 MHz; 因为采样率为51.2MHz,所以信号带宽为25.6MHz,仿真结果如下图所示:
术将FIR滤波器放到低采样率的一端。 首先,从滤波器入手考虑,设FIR滤波器的转移函数为: 其中,N为滤波器的阶数,h(n)为滤波器的冲激响应,将h(n)分为M
组,每组有L个系数,L=N/M。将上式展开并重新分组得:
+ℎ(������ − 1)������−������+1 + ℎ(2������ − 1)������−2������+1 + ⋯ + ℎ[(������ − 1)������ + ������ − 1]������−������������+1
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %
% % 程序分析:
%%
% % 本程序首先生成了一个由8个频率不同的正弦信 % %
% % 号组成的输入信号(频谱图见figure1),和一个归 % %
% % 一化截止频率为0.07的低通原型滤波器。接着将它们 % %
分析:图一为输入信号频谱示意图,可以看出其输入频率分量的范围在9.1MHz到9.1MHz之间;
经多相滤波后,每个子信道的带宽为3.2MHz,它们的频谱图分别如下:
分析:图二为子信道y0-y3的频谱图,对应频率范围:-24.0MHz——-11.2MHz, 图二中没有输出信号分量;图三为子信道y4-y7的频谱图,对应输出频率范围为11.2MHz——1.6MHz,其中y4中的输出分量是-9.1MHz和-8.3MHz,y5的输出分量是 -7.7MHz和-6.9MHz,y6的输出分量是-4.75MHz(不明显)、-4.0MHz和-3.25MHz, y7的输出分量是-0.5MHz和0.5MHz;
%%%%%%%%%%%将输入x分为M个部分,逆序排列%%%%%%%%%%%%
x0=downsample(x,M,0); x1=downsample(x,M,15); x2=downsample(x,M,14); x3=downsample(x,M,13); x4=downsample(x,M,12); x5=downsample(x,M,11); x6=downsample(x,M,10); x7=downsample(x,M,9); x8=downsample(x,M,8); x9=downsample(x,M,7); x10=downsample(x,M,6); x11=downsample(x,M,5); x12=downsample(x,M,4); x13=downsample(x,M,3); x14=downsample(x,M,2); x15=downsample(x,M,1);
������=0
定义:������������(������) = [������������(������)������������������������������������] ∗ ℎ������(������) 则有:
������������(m) = ∑������������=−01{������������(������)}������−������������������������
令:
则转移函数为:
其中,
称为
的多相分量;
若将
中的z换成������������������,
则:
其中,������−������������表示不同的k(k=1,2,…,M-1)具有不同的相位,所以称为
多相滤波结构,如下图所示。
多相滤波的实质可以看作按相位均分的关系把数字滤波器的转移函数 H(z)分解成若干个不同相位的组,形成多个分支,在每个分支上实现滤 波。这样做的目的就是用其分支上阶数较少的滤波来实现原来阶数很大的 H(z)的滤波。这样做的意义在于工程上易于实现,能高效的进行实时信号 的处理。
电 子 科 技 大 学
《软件无线电》多相滤波结构接收器 姓名:xxx
学号:20121910100xx
一、 课程设计题目
基于多相滤波结构的多信道接收机,满足以下条件: 采样率: fs 51.2MHz ; 原型滤波器阶数:L=1024; 信道数:M=16; 子带宽度: fs / M 3.2MHz 。
分析:图四为子信道y8-y11的频谱图,对应频率范围:1.6MHz——-14.4MHz, 其中y8中的输出分量是3.25MHz和4.0MHz,y9的输出分量是4.75MHz(不明显)、 6.9MHz和7.7MHz,y10的输出分量是8.3MHz和9.1MHz,y11无输出量;图五为信道 y12-y15的频谱图,对应频率范围:14.4MHz——-27.2MHz,其中无输出信号分量。
四、 总结
通过本次课程设计,我进一步加深了对软件无线电中的多速率抽取信号的理 解,同时巩固了Matlab中各类函数的用法。实际操作和理论知识的结合,让我 能够在学习和应用之间更好的找到一个平衡点,从而完成设计任务。
附录: 我的代码:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%% 《软件无线电》课程设计 %%%%%%%% %%%%%%%%%基于多相滤波结构的多信道接收机%%%%%%%%% %%%%%%%%姓名:xxx 学号:20121910100xx%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
若把信道划分如下图所示:
则有,中心频率 将其带入������������ (������)与
������������ (m),有:
即可得到基于复多相滤波器的信道化接收机的组成结构,如下图所示
三、 仿真实现
基于题目要求,我编写了Matlab程序来实现多相滤波的要求(源代码见附 录),并成功进行了仿真验证。
%%%%%%%%%%%生成输入信号x%%%%%%%%%%%% fc1=9.1e6; fc2=8.3e6; fc3=7.7e6; fc4=6.9e6; fc5=4.75e6; fc6=4e6; fc7=3.25e6; fc8=0.5e6;
x=cos(2*pi*fc1*t)+2*cos(2*pi*fc2*t)+3*cos(2*pi*fc3*t)+4*cos(2*pi*fc4*t)+... 5*cos(2*pi*fc5*t)+6*cos(2*pi*fc6*t)+7*cos(2*pi*fc7*t)+16*cos(2*pi*fc8*t);
% % 下采样分成16组子输入和16组低通子滤波器,再将它 % %
% % 们的卷积作16点DFT运算得到16组信号输出,得到y0 % %
% % -y15(频谱图见figure2-figure5)。
%%
% %Fra Baidu bibliotek经分析,输出信号y0-y15与输入信号x的频谱图 % %
% % 相符,说明该多信道接收机设计成功。
%%%%%%%%%%将输入信号各项分量与子滤波器在频域上相乘,即在时域上做卷积%%%%%%%% X0=fft([x0 zeros(1,length(h0)-1)]); H0=fft([h0 zeros(1,length(x0)-1)]);
s0=ifft(X0.*H0);
X1=fft([(x1) zeros(1,length(h1)-1)]); H1=fft([h1 zeros(1,length(x1)-1)]); s1=ifft(X1.*H1);
2. 多相滤波结构 然而,上图所示抽取模型对于运算速度的要求很高,因为低通滤波器
是在降速前实现的。这样抗混叠低通滤波器在高取样率条件下工作,大大 提高了对于运算速度的要求,影响了信号的实时处理。下边介绍一种有利 于实时处理的抽取器结构---多相滤波结构。
它为了降低滤波器复杂度,利用多速率信号处理理论中的多相滤波技
经过改进,每个滤波器的阶数降为N/M(N为原始滤波器阶数,M为信道 数),由以上分析可知,每个滤波器进行乘加运算的速度为
(次乘加/秒) 只是原始处理方式的对滤波器速度要求的������2分之一,当M较大时,对 运算速度的要求将大大降低,所以,在实时性要求较高的场合,采用多相 滤波结构来实现抽取器是非常有效的。 3. 多相滤波实现分析 在信道化接收低通实现中,第k个子信道的输出可以理解为输入信号 x(n)先将某一子信道的中心频率������������向左平移到坐标原点,然后经过原型 低通滤波器滤除多余的信号,最后再进行D倍抽取,得到第k路的输出 ������������(������)。这个过程如下图所示:
%%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %
%%%%%%%%初始化%%%%%%%%%%%%%%% clc; clear; T=40000;%采样点数 M=16;%信道数 fs=51.2e6;%采样率 ts=1/fs;%采样步长 t=0:1/fs:(T-1)/fs;
X2=fft([x2 zeros(1,length(h2)-1)]); H2=fft([h2 zeros(1,length(x2)-1)]); s2=ifft(X2.*H2);