时延信号的表示方式

关键词:信号的时延

1.引入
同一个信号被多个接收器接收,若采用统一的时间,后接收到的波形相当于先接收到的波形有一段延迟。以余弦信号为例:
在这里插入图片描述
2.时延信号的表示方式
(1)时域:若参考信号记为s(t),那么延迟τ后的信号可以表示为s(t-τ)
(2)频域:若参考信号记为S(ω),那么延迟τ后的信号可以表示为S(ω) e^(-jωτ)(后文会稍加说明)

3.时延信号的实现方式
(1)时域处理
①对时域数据点的移位
设采样率为fs,时延τ。那么相当于参考信号整个向正方时移fs·τ个点,前fs·τ个点补零,s2=[0,0,……,0,s1]。用Matlab写法为s2=[zeros(1,fs*τ),s1]。实现如下:
在这里插入图片描述
②与冲激函数的时域卷积
s(t-τ)=s(t)**δ(t-τ) 此处为卷积
因此,只需构造冲激函数,然后做一个卷积运算就行了。至于利用Matlab的具体实现,这个并不容易。

(2)频域处理(信号在两域的变换满足可逆性)
思路梳理:s1经fft变换到频域S1→S1频域处理到S2→S2经ifft回到时域s2
(注:s1为实信号;S1为复信号,S1写为a+i*b或者写为Ae^(-iθ))
学习傅里叶变换时,我们知道:频谱反映了信号的频率分布,它和时延无关。注意的是,刻画频谱我们用的是幅频曲线,即A-f;而相频曲线θ-f往往被忽略。
同时我们知道,时域时移对应着频域乘上一个e^jωτ 项。
Ae(-iθ)*e(-iωτ)=Ae^(-i(θ+ωτ))
此时的幅频曲线不变,相频曲线相位值会发生平移。以余弦信号为例:
在这里插入图片描述
在这里插入图片描述
基于上面分析,实际实现有两种方案:
①频域滤波(乘上e^(-iωτ) 项)
S2(ω)=S1(ω)*e^(-iωτ)
举例实现:
在这里插入图片描述
可见,并没有实现。问题可能出在相角(这一点也很迷惑)。

Matlab程序:

%% 通过原信号频域乘上e^(jwt),实现了时域信号的延时
clc,clear;
f=1000;w=2*pi*f;T=1/f;
fs=10000;
N=100;

%设置时延长度
tao=T*1/4;

%1.原信号s1
t1=0:1/fs:1/fs*N;
s1=1/2*(exp(j*w*t1)+exp(-j*w*t1));
figure,
subplot(321),plot(s1);title('流程1-s1');grid;

%2.原信号s1经fft得到S1
S1=fft(s1);
subplot(323),plot(abs(S1));title('流程2-abs(S1)');grid;
subplot(324),plot(angle(S1));title('流程2-angle(S1)');grid;

%3. S1得到S2
S2=S1*exp(-j*w*tao);
subplot(325),plot(abs(S2));title('流程3-abs(S2)');grid;
subplot(326),plot(angle(S2));title('流程3-angle(S2)');grid;

%4.S2经ifft得到s2
s2=ifft(S2);
subplot(322),plot(abs(s2));title('流程4-abs(s2)');grid;

②相角变换(加上ωτ增量)
θ’=θ+ωτ
举例实现:通过原信号频域相角的平移,实现了时域信号的延时。
在这里插入图片描述
Matlab程序:

%% 通过原信号频域相角的平移,实现了时域信号的延时
clc,clear;
f=1000;w=2*pi*f;T=1/f;
fs=10000;
N=100;

%设置时延长度
tao=T/4;

%1.原信号s1
t1=0:1/fs:1/fs*N;
s1=1/2*(exp(j*w*t1)+exp(-j*w*t1));
figure,
subplot(221),plot(s1);title('流程1-s1');grid;

%2.原信号s1的频域相角
S1=fft(s1);
A1=abs(S1);
theta1=angle(S1);
subplot(222),plot(theta1);title('流程2-S1的相角theta1');grid;

%3.经theta1平移得到theta2
tmp=tao/T*2*pi;
theta2=theta1-tmp;
for i=1:ceil(length(theta2)/2)
    theta2(i)=theta2(i)+2*tmp;
end
subplot(223),plot(theta2);title('流程3-经theta1平移得到theta2');grid;

%4.S2经ifft得到s2
s2=ifft(A1.*exp(j*theta2));
subplot(224),plot(real(s2));title('流程4-real(s2)');grid;

4.将时延过程抽象成一个算子
参考矩阵求逆可以快速得到线性方程组的解,此过程中我们将系数与未知数分离成两个矩阵,透彻研究系数矩阵,从而得到未知数矩阵。尝试将时延这个过程也表达成一种算子,通过透彻研究算子的各类性质,达到方便求解的目的。
信号的时延,在时域看来,是移位或者是与冲激函数的卷积;在频域看来,是乘积或者与相角的加减运算,据此可以构造多种形式的算子。单列出频域乘积示意,其他的有待进一步研究。构造的矩阵形如D:
在这里插入图片描述

我们将n个接收阵获得的时域信号写成一个n行的矩阵放到s1中,S1=fft(s1),那么S2=S1*D,接着s2=ifft(S2)。
因此当作用域在频域中是时,时延的算子便是矩阵,一切适用于矩阵的理论都可以直接应用于时延问题的求解。

说明:本文旨在抛砖引玉