首页 > 代码库 > 多普勒失真信号重采样的Matlab仿真分析
多普勒失真信号重采样的Matlab仿真分析
多普勒失真信号重采样的Matlab仿真分析
应用场景
- 水声通信指的是使用声信号在水中传输数据。相对而言,电磁信号在水中吸收严重衰减过快,光信号受水中悬浮颗粒的影响,也无法完成远距离传输。这两种信号的传播距离约为数百米,而声信号在水中传播距离达到数十千米,成为水下通信的首选方式。
- 水声通信的一个重大挑战就是运动带来的多普勒。多普勒造成信号的频率漂移,影响系统性能,因此非常有必要消除多普勒带来的影响。而多普勒在时域的表现为信号的长度压缩和扩展,即‘y(t) = x((1+a) * t)‘,其中
a
为多普勒因子。而如果估计出多普勒因子,之后采用重采样技术就可以恢复得到原始信号x(t) = y( t/(a+a) )
。 - 重采样的意义就是插值,从一个信号插值得到多普勒影响前后的信号。而
1+a
一般为小数,虽然采用多相滤波可以达到很好的插值效果,但复杂度太高。相比之下,线性插值、样条插值等方式运算量小,在做数字系统的时候更加合适Matlab一维插值
- MATLAB中的插值函数为
interp1()
,其调用格式为yi=interp1(x,y,xi, ‘method‘)
。其中x,y为观测数据点,xi为插值(自变量)向量,yi为xi的插值结果(函数值)。 ‘method‘
表示采用的插值方法。取值‘nearest‘为最邻近插值,‘linear‘是线性插值,‘spline‘是三次样条插值,‘cubic‘为分段三次Hermite插值。默认情况为线性插值,三次样条效果最平滑,三次效果多项式介于两者之间。- 线性插值:通过所在位置相邻两点的值来插值。已知f(a)和f(c),b在a,c中间,求f(b)的公式为:
f(b) = f(a) + (b-a)/(c-a) *[f(c) - f(a)]
。 - 分段三次Hermite插值:分段让邻近两点的导数相同,曲线更平滑。
- 样条插值:样条插值通常比多项式插值好用。用低阶的样条插值能产生和高阶的多项式插值类似的效果,并且可以避免龙格现象。
线性插值的误差
- 插值不免会造成信号失真,定义原始信号功率与噪声功率的比值为信干比,计算公式为:
SDR = 10 * log10( power(x(t)) / power(x(t) - x‘(t) )
。x‘(t)
为插值后得到的信号。 - 而对于线性插值,SDR与信号采样频率
fs
和信号频率f
的比值有近似如下关系:SDR(dB) = 40 * log10( fs/f /2 )
。仿真对比
代码如下。 - 首先设置多普勒因子
dop
,插值方法,采样率与信号频率的比例ns。最小值取2,对应奈奎斯特频率。 - 之后对于每个ns值,生成相应的初始信号
a
,之后插值以对信号添加多普勒。因spline
方法造成的误差最小,选择作为添加多普勒的方法。 - 采用不同的插值方法去除多普勒。因为插值造成信号长度变化,每次都只略去尾部6000个数据点。
- 之后画图,每个ns对应一张图,并注明实测SDR以及线性插值的理论SDR值以作对比。
dop = 0.05;
intermethod = ‘nearest‘;% nearest linear cubic spline
%n: fs / fc
ns = 2:7;
figure;
for n = ns
a = sin(2*pi*(1+rand():1:50000)/n);
b=interp1([0:length(a)-1],a,[1-1:length(a)-6000-1]*(1+dop),‘spline‘);
c=interp1([1-1:length(b)-1],b,[1-1:length(b)-6000-1]/(1+dop),intermethod);
subplot(3,ceil(length(ns)/3),n-1);
plot(a(29901:30000));
hold on;
plot(c(29901:30000),‘r‘);
error = sum(abs(a(1:30000)-c(1:30000)) .^2) / sum(abs(a(1:30000)) .^2);
title([‘fs/fc = ‘,num2str(n),‘ SDR = ‘,num2str(10*log10(1/error)), ‘dB VS‘, num2str(40*log10(n/2)),‘ dB‘])
end
仿真结果分析
- 临近点插值仿真结果:性能极差,无法使用。
- 线性插值仿真结果:可见与理论值符合的较好。
- 分段三次Hermite插值插值仿真结果:大约提高5dB,但带来的是大量的计算。
- 三次样条插值仿真结果:性能非常好,但最复杂。因为添加多普勒时也采用了样条插值,仿真结果加上3dB才应该是理论结果。
结论
如果采用重采样来去除多普勒带来的影响,并且采用较为实用的线性插值法,若要达到约19dB的通信信噪比要求,需要提高采样率至少为6倍信号频率。
转载请注明作者:Focustc,博客地址为http://blog.csdn.net/caozhk,原文链接为点我
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。