首先,感谢组委会的厚爱,给了我一个三等奖。虽然没做出来,可能实验报告拿了点分。
我的思路是错误的,我是输入一个中心频谱,观察它周围的值,而主委会希望是通过扫频,输出输入信号所有的频谱。
这次的比赛,对于我来说,学到了很多,非常感谢指导老师的指导。感谢主办方的支持。
另外,网站资源给与了我恒大的帮助。但是不得不吐槽本校某些弱势专业的仪器落后,偌大的学校连个频谱仪都没有。我不是通信都看不下去了,啥都没有。
下面是我的报告:
简易频谱仪系统设计
一、简易频谱仪设计目标与要求
1.1 设计目标
拟利用PLUTO软件无线电平台上实现一个简易频谱仪。支持频谱显示频谱扫描、峰值捕获等功能。
AD |
混频 |
本振LO |
FFT |
1.2 基本要求
1、输入阻抗:50欧
2、测试频率范围:325MHz到 3 GHz
3、分辨率带宽(RBW):100Hz、300Hz、1KHz、3KHz、10KHz、30KHz、 100KHz、 300KHz、1 MHz、3MHz、10MHz可选
4、动态范围:RBW=100Hz时,大于60dB;RBW=10MHz时,大于30dB
5、测试幅度误差:小于1dB
6、测试频率误差:在不同RBW设置测试时,小于相对应RBW的1%
1.3 扩展要求
1、频率扩展范围:70MHz到6GHz
2、AM、FM、ASK、FSK、BPSK调制识别
载波频率:433MHz 调制信号:语音信号
3、AM调制信号的调制度、交调失真测量
载波频率:433MHz 调制信号:单音信号
- 简易频谱仪设计方案论证
2.1系统总体框图及模块说明
ADALM-PLUTO radio Receiver blocker信号接收模块是一个功能非常强大的工具。通过这个模块,可以实现指定中心信号频率拾取,混频器与本机振荡器的实现混频功能。可以通过主界面代码控制其中心信号频率(centerfrequency),来确保正确RBW输出。控制基带采样率(Baseband sample rate)来获取足够的数据。可以实现直接变频功能,使高频信号变成宽带低频信号,经过AD转换之后变成数字信号。
DC-Blocker直流阻断器是本征波导建模和其他应用中不可或缺的工具。通常需要去除信号环路中的直流分量。dc块是一个由微分方程指定的小递归滤波器。
yn=xn-xn-1+Ry(n-1)
其中R是一个参数,通常介于0.9和1之间(对于44.1kHz采样率,R=0.995是合适的)。传递函数为
Hz=1-z-11-Rz-1
因此,在dc(z=1)处存在零,在z=R处存在无透镜dc。远离直流,极点和零点大致相互抵消,所以我们可以运用它去除直流分量
Buffer缓冲区块始终执行基于帧的处理。该块重新分配输入的每一列中的数据,以产生具有不同帧大小的输出。将信号缓冲到更大的帧, 帧大小会产生帧速率比输入慢的输出。将信号缓冲到较小的帧, 帧大小会产生比输入更快的帧速率输出。该块会协调非重叠缓冲器的输出帧大小和帧速率,使得信号的采样周期在输入和输出端都相同:Tso=Tsi。通过这个我们可以控制采样点数,控制RBW。
MATLAB Function2自定义函数通过自己设定函数实现加窗,再对取样数据取平均,并进行FFT(傅里叶变换),功率谱取对数输出。
图2 MATLAB Function2程序子模块框图
Spectrum Analyzer block频谱分析仪块(这里称为示波器)显示信号的频谱。但在这里我们不是简单地使用它时频信号(Time)输入显示频谱功能,我们使用频谱输入显示功能(Frequency)。我们可以通过主界面代码控制其采样频率(Sample Rate),来确保正确RBW输出。
利用pluto变频功能,利用FFT做频谱分析,通过改变本振频率,实现宽频带的扫频。从长段信号加框截取其中一段信号求和。
进行加窗,加窗本质上是窗频谱与原始频谱进行卷积运算,导致原始频谱频谱泄露,无限长的信号被截断后,频谱发生畸变。窗函数的种类选取分为两个影响:1.窗的主瓣频率的分辨率。2.窗的类型和时间上谱的宽度来控制RBW。从表2-1可知,不同的窗函数有不同的带宽和衰减。而我们希望可以获得主瓣尽量窄,旁瓣的相对幅度尽量小,防止被测信号强度<旁瓣强度,则无法检测,继而影响动态范围。经过多方面的考虑,最终选择nuttallwin窗。
而RBW的控制遵循下列公式
Nsample=NENBW*FsRBW
频谱分析仪要求计算频谱估计所需的样本数量最少。计算一次频谱更新所需的输入样本数量在主选项窗格中显示为样本/更新。该值通过等式与分辨率带宽RBW直接相关, 而归一化有效噪声带宽NENBW是一个取决于开窗方法的因素。频谱分析仪在“频谱设置”窗格的“窗口选项”窗格中显示NENBW的值(查阅可知nuttallwin的参数为1.96)。Fs是输入信号的采样率。频谱分析仪在频谱设置窗格的主选项窗格中显示采样率。而我们通过调试取样频率(Fs)和缓冲区块帧取率(Nsample )来控制RBW。实际操作在(3.2.RBW范围)可调中。
动态范围通常被认为是频谱分析仪测量谐波相关信号和两个或多个信号互相作用所生成信号的能力。取决于主瓣和旁瓣幅值的比。在处理测量时,频谱分析仪的输入混频器是非线性器件,因而频谱分析仪自身总会产生失真。
动态范围:频谱仪能测量到的输入端同时存在的最大信号与最小信号的比值(dB),并且对于较小信号允许以给定不确定度测量。习惯上不加窗就是使信号通过了矩形窗。这种窗的优点是主瓣比较集中,缺点是旁瓣较高,并有负旁瓣,导致变换中带进了高频干扰和泄漏,甚至出现负谱现象。矩形窗主瓣窄,旁瓣大,频率识别精度最高,幅值识别精度最低。Nuttall窗体可以有效减少频谱遗漏对谐波测算的作用,我们进行加窗有利于保证合适的动态范围,拥有更稳定的波形。
由于Plutosdr本身携带3dB的噪声系数,我们为了减少误差,进行了补零操作,对频域做差值,时域做补零操作,差值变为原来的一百倍。是由于采样频率增加引起。
故取n次平均值可以使测量误差消减为原来的-n次方倍。
三.主要功能实现
图3 频谱仪仿真图
3.1.基础条件:
查阅数据手册可知:
输入阻抗为50欧
Pluto 精度 12bits ADC/DAC
▪ 采样率 65.1KSPS to 61.44MSPS
▪ 带宽 200KHz to 20MHz
▪ 本振 325MHz to 3.8GHz(保证指标)
70MHz to 6GHz(频率/带宽扩展)
3.2.RBW范围可调:
主界面代码:
例:设置RBW为100HZ(其他必要参量设定)
- load_system('producea');
- open_system('producea/Spectrum Analyzer1','OpenFcn')
- open_system('producea/Spectrum Analyzer1','window')%打开频谱仪界面,。
- 主界面输入config = get_param([' producea ','/Spectrum Analyzer1'],'ScopeConfiguration')
- 主界面输入config.SampleRateSource='Property'
- 主界面输入config.SampleRate='1e6'%100HZ设置
- 主界面输入set_param('producea/ADALM-Pluto Radio Receiver',' BasebandSampleRate',1e4')%100Hz设置采样频率
- 主界面输入set_param('producea/Constant1','Value','100')%100HZ设置正确输入频率
- 主界面输入set_param('producea/Constant','Value','100')%100HZ设置正确RBW
- 主界面输入
set_param('producea/Buffer1','N','10000*5')%100HZBuffer设置
- 按下先前频谱仪界面启动键后·,等待5-10秒时间,可以看到RBW显示为100HZ
%每次调试需关闭再打开才能运用,以此类推,可得到另外RBW。
3.3相应数据:
Output Buffer size |
10000*5 |
5000*5 |
1000*5 |
500*5 |
800*5 |
|
RBW/(Hz) |
100 |
300 |
1.00E+03 |
3.00E+03 |
1.00E+04 |
|
Samplerate |
506200 |
759000 |
5.06E+06 |
7.59E+05 |
4.05E+06 |
|
perframe |
10000 |
50000 |
1000 |
500 |
800 |
|
Samplerate 主函数输入 |
1.00E+06 |
1.00E+06 |
1.00E+06 |
1.00E+06 |
1.00E+06 |
|
Output Buffer size |
400*5 |
800*5 |
400*5 |
80*5 |
40*5 |
12*5 |
RBW/(Hz) |
3.00E+04 |
1.00E+05 |
3.00E+05 |
1.00E+06 |
3.00E+06 |
1.00E+07 |
Samplerate |
6.07E+06 |
40496000 |
6.07E+07 |
4.05E+07 |
6.07E+07 |
6.08E+07 |
perframe |
400 |
800 |
400 |
80 |
40 |
18 |
Samplerate 主函数输入 |
1.00E+06 |
1.00E+06 |
1.00E+06 |
1.00E+06 |
1.00E+06 |
1.00E+06 |
表一:相应RBW的参数
四.仪器性能检测:
4.1 动态范围
经过多次实验,可以确定满足实验条件:
动态范围:RBW=100Hz时,大于60dB;RBW=10MHz时,大于30dB 。
经过操作,我们对参数进行调整后,分别得到了RBW=100Hz,10MHz时频谱仪检测图像
图4 RBW=100Hz的范围
图5 RBW=10MHz的范围
通过多次实验求取平均,可以得到在RBW=100Hz时,动态范围约为65dB;在RBW=10MHz时,动态范围约为52dB
RBW |
1 |
2 |
3 |
4 |
10MHZ |
64.5 |
68.9 |
64.3 |
67.3 |
100Hz |
50.9 |
51.3 |
53.4 |
52.8 |
5 |
6 |
7 |
8 |
AVERGE |
61.3 |
63.4 |
64.5 |
65.6 |
64.975 |
53.6 |
53.8 |
51.4 |
51.2 |
52.3 |
表二:RBW动态范围检测
4.2测试幅度误差测试:
本次实验使用的信号为50KHz正弦信号加在频率为433e6的载频上,作图为实际测试功率谱密度(Power density),显示值为-18.0104dbm和-18.0162dbm,而本组功率谱密度为-18.0154和-18.0587,误差为0.014%。
另外做15组数据,分成3组,取数据的平均数,得到误差度分别为0.9%,0.6%,0.3%。满足误差度的要求。
不同RBW设置误差测试 |
|||||
RBW |
实际测量 |
实验测量 |
误差度 |
||
780 |
-60.8 |
-60.25 |
0.009 |
||
390 |
-60.064 |
-60.102 |
0.006 |
||
1.95E+02 |
-60.214 |
-60.421 |
0.003 |
表三:误差测试
五.扩展要求
5.1:扩展频率范围至70MHz到6GHz
通过固件更新,成功实现。
5.2:对AM、FM、ASK、FSK、BPSK调制方式识别
图6 信号调制识别原理图
通过对目标信号进行瞬时参量数据的提取,实现对调制方式的识别。
5.2.1调制原理:
一个通用的模式识别系统由信号预处理、特征提取和分类识别三部分组成。下图为自动调制识别一般流程:
在通信领域中我们把信号分为两种类型:模拟调制:AM,FM…数字调制:2ASK,4ASK,2PSK,4PSK,2FSK,4FSK;
设多段信号的码速率的方差为 σRS ,数字调制信号具有恒定的码速率,而模拟调制信号则无此特征。因此可以截取多段信号,提取每段信号的码速率。
数字调制信号的码速率 序列的方差理论上为零而模拟调制信号的方差不为零,因此可设定门限tσRS 区分两类调制信号当 σRs >tσRS 时,判断为模拟调制信号,否则判断为数字调制信 号。
进一步的,模拟调制信号的区分为:
零中心归一化瞬时幅度谱密度的最大值γmax1
γmax1=max|FFT(acn(i))|2/Ns
式中,Ns为取样点数,acn(i)为零中心归一化瞬时幅度,acn(i)=a(i)/mean(a)-1。 该参数主要用来区分信号有无幅度变换。在模拟调制信号中,FM信号无幅度调制,而AM信号有幅度调制。故可以设置门限tγmax 区别有无幅度调制。当γmax1>t(γmax1)时,判断为AM信号,否则判断为FM 信号。
进一步的,数字调制信号的区分:
零中心归一化瞬时幅度谱密度的最大值γmax2
γmax2=max|FFT(acn(i))|2/Ns
式中,Ns为取样点数,acn(i)为零中心归一化瞬时幅度,acn(i)=a(i)/mean(a)-1。 该参数主要用来区分信号有无幅度变换。在数字调制信号中,MPSK信号和MFSK信号无幅度 调制,而MASK信号和MQAM信号有幅度调制。故可以设置门限t(γmax2)区别有无幅度调制。当γmax2>t(γmax2)时,判断为MASK或者MQAM信号,否则判断 为MFSK或者MPSK信号。
归一化零中心瞬时频率的紧致性μ42f
该参数主要用来区别MPSK信号还是MFSK信号,因为对MPSK信号,其瞬时频率为常 值,具有较高的紧致性,即该参数较大,而MFSK信号只有两个或者四个电平,其紧致性较差。 故可通过设置门限t(μ42f) 区别两类信号。
μ42f=E[fN2(i)]{E[fN2(i)]}2
当 μ42f >t(μ42f) 时,判断为MPSK信号,否则判断为MFSK信号。
归一化零中心信号的紧致性μ42s
μ42s=E[ScN2(i)]{E[ScN2(i)]}2
该参数主要用来区别MASK信号还是MQAM信号。scn(i)的定义和acn(i)的定义相同。 故可通过设置门限t(μ42s) 区别两类信号。当 μ42s >t(μ42s) 时,判断为MASK信号,否则判断为MQAM信号。
MPSK\MFSK\MASK信号的各自识别方式 :
MPSK归一化二相特征参数η2f0(f0)
定义信号x循环相关函数为: RXα(τ)=lim1TT→∞-T/2T/2x(t+τ2)x*(t-τ2)e-j2παtdt 其傅里叶变换为信号的循环谱密度,又称谱相关密度函数。在对MPSK信号进行四次方之后,求得的谱相关函数可以识别不同调制方式的信号。定义归一化二相特征函数:
η2f0f0=|S^f0(f0)S^0(0)|
S^f0(f0) 和S^0(0) 均是信号四次方之后的谱相关密度。BPSK信号的归一化二相特征 参数为η2f0f0=0.667 QPSK信号的归一化二相特征参数为η2f0f0=0 因此可根据此识别BPSK和QPSK信号。
2FSK信号的功率谱有两个频率分量,因此有两个峰值;4FSK信号的功率谱有四个频率分量,因此有四个峰值。为了准确提取谱峰的个数,用自回归模型(AR)进行谱密度估计。
首先通过功率谱估计,得到功率谱的光滑曲线,以准确提取正弦分量所形成的尖峰;其次得到功率谱序列的一阶差分序列;最后通过判断差分序列的符号变化,来判断谱峰的个数N。
设AR模型为:
xn=-k=1pakxn-k+u(n)
其中p是AR模型的阶数,ak 是模型的系数,u(n)是一个均值为0,方差为σ2的白噪声序列。由AR模型得到的功率谱的估计为P(n).
有了MFSK信号的功率谱估计序列,通过分析它的一阶差分序列符号变化,就可以 检测出谱峰。记一阶差分序列为 d(n)=P(n+1)-P(n)。如果d(n)>0并且d(n+1)<2判决为CW,2≤NN<3判决为2FSK,其他情况下判决为4FSK。
识别步骤:
- 接收待处理信号数据s(n);
- 提取信号瞬时特征参数:瞬时幅度a(n)、瞬时相位 瞬时频率f(n);
- 将信号截取成多段,利用小波变换方法对每段子信号提取码速率,并计算码速 率的方差 判断 的值是否大于门限 如果大于门限,那么该数据为模拟调制信号,进入第4步;如果小于门限,那么判断为数字调制信号,并进入第7步;(由于仅在此步将 信号数据截取为多段,其他参数的计算均通过完整的信号数据计算);
- 对信号瞬时幅度a (n)计算γm a x 1参数,判断γm a x 1参数的值是否大于门限 t (γmax1),如果大于门限,进入第5步,否则进入第6步;
- 对瞬时非线性相位 计算参数σdp,判断σdp参数是否大于门限t(σdp),如果大 于门限值,判断为DSB信号,否则判断为AM信号;
- 计算信号s(n)的对称性参数P,判断参数P是否大于门限t(P),如果大于门限值, 判断为SSB信号,否则判断为FM信号;
- 对信号瞬时幅度a (n)计算γmax 2参数,判断γm a x 2参数的值是否大于门限 t (γmax2),如果大于门限,进入第8步,否则进入第11步;
- 对信号s(n)计算 参数,判断 参数的值是否大于门限 如果大于门 限,进入第9步,否则进入第10步;
- 计算信号瞬时幅度a(n)的幅度种类个数M,如果M≤3,判决为2ASK;如果4≤M,判 决为4ASK;
- 对信号瞬时频率f(n)计算 参数,判断 参数的值是否大于门限 如果 大于门限,进入第12步,否则进入第13步
- 计算信号的二相特征参数 判断 参数的值是否大于门限 如果大于门限,判断为2PSK信号,否则判断为4PSK信号;
- 计算信号功率谱的峰值个数N,如果N<2,判决为CW,如果2≤N<3,判决为2FSK,否则为4FSK;
图8 调制识别实验图像
5.3 对AM调制信号的调制度、交调失真测量
测量调制度的实验原理:
在幅度调制中,调制深度是指调制信号和载波信号的振幅比。借助快速傅里叶变化,调制深度可以通过测量边带幅度和载波幅度来得到。在这篇应用文档中,我们将要展示一种使用新峰值/标记功能的便捷方式来测量调制深度。
幅度调制使用正弦信号(通常是音频频率范围从10赫兹到20千赫的正弦波)去控制被称为载波的高频信号的幅度。
这里:
V(t) |
调幅信号 |
Uc |
载波信号的幅度 |
m |
调制深度 |
a(t) |
归一化调制信号 |
fc |
载波频率 |
正弦调制是最常用的调制波形类型,如果我们使用正弦波,调制信号可以表示为
at=cos2πfmt (2)
根据公式(1)和(2),可以得到
U(t)=Uccos2πfct+m2Uccos(2πfc+2πfm)t+m2Uccos(2πfc-2πfm)t (3)
在数学上表示载波波形, 和 表示被调制信号的正边带(上边带)和负边带(下边带)。上下边带的幅度都是 ,如果我们设边带的幅度为
Us=m2Uc (4)
那么, m2=UsUc (5)
在对数情况下,如果载波幅度和边带幅度的差为X,
X=20lgm2UcUc (6)
那么调制深度可以表示为
m=10x+6.0220 (7)
图 7
我们看到可以很容易测量边带振幅和载波振幅之间的差X,然后可以轻松地计算出调制指数。
实验步骤:
- 通过对信号的扫波,检测出调制信号的上边带和下边带;
- 再通过原信号求取对应的信号边带和载波频率密度,按照公式求对数,计算出调制度。
图9 调制度实验图像
- 总结
预期效果为能够满足频谱测量要求,动态范围合适,波形稳定,谱线清晰,测频范围能够满足70MHz到6GHz 。信号失真度小,反应速率较快,能够满足微延时显示数据。控制RBW简单高效。 检测精度较高,可以基本满足使用需求。
- 参考文献
[1]郑君里,信号与系统,高等教育出版社
[2]数字信号处理
[3]MAtlab——simulink参考手册
[4]MAtlab 文件说明
[5]Software_Defined_Radio_using_MATLAB_Simulink_and_the_RTL-SDR
[6]DC Blocker
[8]一种无需先验知识的常用通信信号调制方式的自动识别方法—庞岩 韩思麒 祝大力 大连理工大学(专利)
[9]王天权. 数字通信信号自动调制识别及全数字解调设计与实现[D]. 西南交通大学, 2010.
[10] 基于ANN的6种信号自动调制识别
我懒得截图了,文件需要的私我或自取。