數字波束合成可以等效的理解為讓發射波束按照指定方向來發射電磁波;
實際操作過程中的數字波束是通過回波訊號fft之後的峰值點在通過乙個陣列流來改變波束的指向來實現的,具體如下所示 :
假設存在n元陣列,整列間天線間距為d ,發射訊號的波長為lamada , 遠處乙個目標以垂直陣列面角度p1的位置;那麼回波訊號可以表示為:
n1 = a * exp(j * 2*pi*d*sin(p1)/lamada); 第一幅陣元接受訊號
n2 = a * exp(j * 2*pi*2*d*sin(p1)/lamada); 第二幅陣元接受訊號
nn = a * exp(j * 2*pi*n*d*sin(p1)/lamada); 第二幅陣元接受訊號
現在我希望將回波波束從正中相位移動p2個角度;所以我需要對妹夫陣元接受到的資料乘以乙個相位矩陣如下所示 :
n1' = a * exp(j * 2*pi*d*sin(p1)/lamada) * exp(j * 2*pi*d*sin(p2)/lamada);
n2' = a * exp(j * 2*pi*d*sin(p1)/lamada) * exp(j * 2*pi*2*d*sin(p2)/lamada);
nn' = a * exp(j * 2*pi*n*d*sin(p1)/lamada) * exp(j * 2*pi*n*d*sin(p2)/lamada);
拿出n1'來花簡可得:
nn' = exp(j * 2*pi*n*d*sin(p1)/lamada) * exp(j * 2*pi*n*d*sin(p2)/lamada)
= exp(j*2*pi*n*d*(sin(p1) + sin(p2)) / lamada);
其中 :sin(p1) + sin(p2) = sin((p1 + p2)/2) * cos((p1 - p2)/2);
當p1 = p2 時;sin(p1) + sin(p2) = sin(p1 + p2) ;
nn' = a * exp(j*2*pi*n*d*sin(p1 + p2) / lamada);
由於exp和sin在0 - pi上都是遞增函式;
所以至只有在p1 = p2的情況下,才能使得回波的目標資訊幅度值最大,這個最大的幅度值就會體現在頻譜的峰值幅度值上。也就是說當波束合成和目標角度一致的時候才會達到回波波束最大的效果。
假設回波訊號為 s = [a*exp(phi) a*exp(2*phi) ..... a*exp(n*phi)];
方向流型陣列為 m = [a*exp(phi') a*exp(2*phi') ..... a*exp(n*phi')]';
波束合成後的回波為 : a = s * m ;
堆疊的一些理解
堆疊是一種執行 後進先出 演算法的資料結構。設想有乙個直徑不大 一端開口一端封閉的竹筒。有若干個寫有編號的小球,小球的直徑比竹筒的直徑略小。現在把不同編號的小球放到竹筒裡面,可以發現一種規律 先放進去的小球只能後拿出來,反之,後放進去的小球能夠先拿出來。所以 先進後出 就是這種結構的特點。堆疊就是這...
const 的一些理解
以前覺得自己對const還是有些理解的,今天一兄弟問了乙個問題才讓我對這個東西又加深了些了解 class temp public void output void func const temp a a.output 就這麼簡單乙個東西,眨眼一看,沒什麼問題,但是編譯是不會通過的,因為func呼叫了...
linuxI O的一些理解
同步i o 阻塞i o 非同步i o 非阻塞 同步,非同步的概念本來是通訊領域的,很難解釋清楚,但我肯定他跟阻塞非阻塞完全沒有任何關係。在這裡的同步非同步,我個人的理解是函式呼叫的時候的同步非同步。其實同步方式很好理解,例如你呼叫乙個function,當這個function執行完後,這個方法實現的功...