阵列信号处理仿真一——延时求和滤波器
陣列信號處理仿真,延時求和濾波器
- 問題導入
- 假設在Z軸上存在5個陣列關于原點對稱,間隔0.1m,試畫出f1,f2,f3,f4,f5f_1,f_2,f_3,f_4,f_5f1?,f2?,f3?,f4?,f5?接受到的平面波
- 解
- 對這個陣列實現延時——求和波束形成
- 解
問題導入
假設原點處的陣列傳感器接收的信號為平面波,表達式如下
f(t)=cos(2πf0t+θ0)f(t) = cos(2\pi f_0t+\theta_0) f(t)=cos(2πf0?t+θ0?)
其中 θ0=π3\theta_0 = \frac{\pi}{3}θ0?=3π? ,f0=300Hzf_0=300Hzf0?=300Hz
平面波入射的角度θ=30°\theta=30^{\circ}θ=30°,?=60°\phi=60^{\circ}?=60°陣列的采樣頻率fs=20000Hzf_s = 20000Hzfs?=20000Hz
假設在Z軸上存在5個陣列關于原點對稱,間隔0.1m,試畫出f1,f2,f3,f4,f5f_1,f_2,f_3,f_4,f_5f1?,f2?,f3?,f4?,f5?接受到的平面波
解
f(t,p)=[f(t?τ1)f(t?τ2)f(t?τ3)f(t?τ4)f(t?τ5)]f(t,p)=\begin{bmatrix} f(t-\tau_1) \\ f(t-\tau_2)\\ f(t-\tau_3)\\ f(t-\tau_4)\\ f(t-\tau_5)\\ \end{bmatrix}f(t,p)=???????f(t?τ1?)f(t?τ2?)f(t?τ3?)f(t?τ4?)f(t?τ5?)????????
不同位置的陣列接受到的波形為原點處的波形的延時
其中τn=aTpnc\tau_n=\frac{a^Tp_n}{c}τn?=caTpn??
a=[?sin(θ)cos(?)?sin(θ)sin(?)?cos(θ)]a = \begin{bmatrix} -sin(\theta)cos(\phi)\\ -sin(\theta)sin(\phi)\\ -cos(\theta) \end{bmatrix} a=????sin(θ)cos(?)?sin(θ)sin(?)?cos(θ)????
矩陣的賦值需要維度和大小相同,所以事先初始化新的平面波函數f和時間T
f = [0:0.00005:0.007;0:0.00005:0.007;0:0.00005:0.007;0:0.00005:0.007;0:0.00005:0.007];T = [0:0.00005:0.007;0:0.00005:0.007;0:0.00005:0.007;0:0.00005:0.007;0:0.00005:0.007];繪制波形
for i = 1:5subplot(5,1,i)T(i,:) = tao(i):0.00005:0.007+tao(i); f(i,:) = cos(2*pi*300*T(i,:) + pi/3);plot(T(i,:),f(i,:));end效果展示
從上圖可以看到,第一幅圖和第二幅圖在0時刻之前就出現了波形,說明時延τn<0\tau_n<0τn?<0,f3f_3f3?的圖形為原點處接收到的波形,第四幅圖形和第五幅圖形延時τn>0\tau_n>0τn?>0所以波形出現時刻在0時刻之后
對這個陣列實現延時——求和波束形成
解
由上圖可知,延時求和波束形成就是將各個陣元接收到的信號的時延通過處理將時延補齊然后求和賦值上取1N\frac{1}{N}N1?后輸出
matlab中我們只需將f的各行向量的相位對齊求和即可實現
lattic的結果為{20,15,10,5,0},所以不同陣元的取樣取值選擇了{21,16.11,6,1}
總結
以上是生活随笔為你收集整理的阵列信号处理仿真一——延时求和滤波器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分享一个NI软件卸载工具
- 下一篇: 1071svm函数 r语言_R语言机器学