1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Biến đổi fourier rời rạc part 4 potx

10 323 1

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 248,22 KB

Nội dung

105 Hình 6.8 Lu đồ thuật toán giảm lợc đầu vào, N=4 for(iter=(m_output-m_input);iter<m_output;iter++) { for(j=0; j<N_output; j+=incr) { i=j+ip ; Tr=xr [i]; Ti =xi [i] ; xr[i]=xr[j]-Tr; xi[i]=xi[j]-Ti; xr[j]=xr[j]+Tr; xi[j]=xi[j]+Ti; } for(k=l; k<ip; k++) { l=k*kk-1; for(j=k; j<N_output; j+=incr) { i=j+ip; Tr=xr[j]+xr[i]; Ti=xi[j]+xi[i]; diffr=xr[j]-xr[i]; diffi=xi[j]-xi[i]; xr[j]=Tr; 106 xi[j]=Ti ; Tr=diffr*wr[l]-diffi*wi[l]; Ti=diffr*wi[l]+diffi*wr[l]; xr[i]=Tr; xi[i]=Ti; } } kk<<=l; ip>>=l; incr>>=l; } } Bài tập 6.3 1.Cho dãy đầu vào : x(k) = 1 k = 0,1,2, , 31. x(k) = 0 các trờng hợp còn lại. Tính 1024 điểm trong phổ tần số dùng chơng trình giảm lợc đầu vào FFT. 2. Thêm các giá trị 0 vào dãy để làm cho chiều dài dãy thành 1024. Bây giờ tính FFT scủa dãy dùng chơng trình FFT phân chia tần số không giảm lợc. So sánh thời gian xử lý của phần 1 và 2. Thuật toán FFT giảm lợc đầu ra. Giải thuật phân chia miền thời gian thì thích hợp cho thuật toán giảm lợc đầu ra hơn là giải thuật phân chia miền tần số. Lý do là đầu ra trong giải thuật phân chia miền thời gian không phải sắp xếp lại. Hình 6.9 giới thiệu trờng hợp với M=4 và L=1. 107 H×nh 6.9 Lu ®å cho gi¶m lîc ®Çu ra FFT, N = 4. Ch¬ng tr×nh 6.4 FFTOP.C Gi¶m lîc ®Çu ra FFT. /***************************** * Program developed by: * * M.A.Sid-Ahmed. * * ver. 1.0 1992. * * @ 1994 * *****************************/ /* FFT - output pruning using Decimation-in-time routine. */ # define pi 3.141592654 void bit_reversal(unsigned int *, int , int); void WTS(float *, float *, int, int); void FFTP(float *xr, float *xi, float *, float *,int, int, int, int); 0 2 4 6 8 10 12 14 1 3 5 7 9 11 13 15 0 4 8 12 2 6 10 14 1 5 9 13 3 7 11 15 0 8 4 12 2 10 6 14 1 9 5 13 3 11 7 15 0 8 4 12 2 10 6 14 1 9 5 13 3 11 7 15 0 1 W n=0 ®Õn 7 W n=0 ®Õn 3 W n=0 ®Õn 1 W n=0 108 void FFTP(float *xr, float *xi, float *wr, float *wi, int m, int N, int m_output, int N_output) { /* FFT output pruning algorithm using Decimation-in-time. Note : 1. N=number of input samples =2 to the power m. N-output = number of output samples =2 to the power motput. 2. The input arrays are assumed to be rearranged in bit-reverse order. You will need to use routine "bit-reversal" for that purpose. 3. The twiddle factors are assumed to be stored in LUT's wr[] and wi[]. You will need to use routine LUT for calculating and storing twiddle factors.*/ int ip,k,kk,l,incr,iter,j,i; float Tr,Ti; ip=1; kk=(N>>1 ); incr=2; for(iter=0; iter<m_output; iter++) { for(j=0; j<N; j+=incr) { i=j+ip; Tr=xr[i]; Ti=xi[i]; xr[i]=xr[i]-Tr; xi[i]=xi[i]-Ti; xr[j]=xr[j]+Tr; xi[j]=xi[j]+Ti; } if(iter!=0) { for(k=1;k<ip; k++) 109 { l=k*kk-1 ; for(j=k; j<N; j+=incr) { i =j+ip; Tr=xr[i]*wr[l]-xi[i]*wi[l]; Ti=xr[i]*wi[l]+xi[i]*wr[l]; xr[i]=xr[j]-Tr; xi[i]=xi[j]-Ti; xr[j]=xr[j]+Tr; xi[j]=xi[j]+Ti; } } } kk>>=1; ip<<=1; incr<<=1; } for(iter=m_output; iter<m; iter++) { for(j=0; j<N; j+=incr) { i=j+ip; xr[j]=xr[j]+xr[i]; xi[j]=xi[j]+xi[i]; } for(k=1; k<N_output; k++) { l=k*kk-1 ; for(j=k; j<N; j+=incr) { i=j+ip ; Tr=xr[i]*wr[l]-xi[i]*wi[l]; Ti=xr[i]*wi[l]+xi[i]*wr[i]; xr[j]=xr[j]+Tr; xi[j]=xi[j]+Ti; } } kk>>=1; 110 ip<<=1; incr<<=1; } } Bài tập 6.4 Cho một bộ lọc thông cao Butterword: 2 2 0 )12( 1 1 )( H ở đây 0 = 0.3, phát triển một chơng trình C tính ra 1024 mẫu của đặc tuyến tần số trên các khoảng bằng nhau của tần số từ 0 đến . Dùng các mẫu này tính năm mẫu đầu tiên của đáp ứng xung dùng FFT giảm lợc. 6.4 2-D FFT Một DFT hai chiều của tín hiệu lấy mẫu hai chiều h(k 1 ,k 2 ) cho bởi )},({ ),(),( 21 1 0 1 0 ).(/2 2121 1 2 2211 kkhDFT ekkhnnH N k N k knknNj (6.41) ở đây n 1 = 0,1,2 , , N-1 n 2 = 0,1,2, , N-1 Biểu thức )(/2 2211 knknNj e trong hai dấu tổng gọi là hạt nhân của phép biến đổi. H(n 1 ,n 2 ), trong trờng hợp tổng quát, đầy đủ có thể biểu diễn theo: )n,(nj 2 1 2 1 21 e )n,A(n )n,H(n Trong không gian ba chiều, A(n 1 ,n 2 ) và (n 1 ,n 2 ) nằm tại vị trí của n 1 và n 2 và gọi là phổ tần số và phổ pha của H(n 1 ,n 2 ). 6.4.1 Biến đổi ngợc 2-D DFT Hàm h(k 1 ,k 2 ) là biến đổi ngợc của 2-D DFT (IFFT) của H(n 1 ,n 2 ) và đợc cho bởi biểu thức 1 0 1 0 ).(/2 21 2 21 1 2 2211 ),( 1 ),( N n N n knknNj ennH N kkh (6.42) 111 6.4.2 Một số tính chất của 2-D DFT Chuyển đổi. Từ định nghĩa của 2-D DFT và IDFT cho thấy ),(),( 21 )( 2 21 21 bnanHekkh bkak N j (6.43) )( 2 2121 21 ),(),( bnan N j ennHbkakh (6.44) Điều đó có nghĩa là một dịch chuyển pha tuyến tính trong một miền biểu diễn bằng một dịch chuyển hằng số trong một miền khác. Xem xét biểu thức (6.43), trờng hợp đặc biệt khi a = b = N/2. 212121 )1)(,())(,(),( 2 1 ) 2 1 )( 2 1 kkkk j kkj kkhekkhekkh Hay là ) 2 , 2 ()1)(,( 2121 21 N n N nHkkh kk (6.45) Nói cách khác, bằng cách nhân vào mỗi điểm (-1) 21 kk trớc khi lấy DFT, chúng ta sẽ rút ra đợc một phổ tần số mà điểm tần số (0,0) của nó sẽ nằm giữa mảng 2-D. Biểu thức này rất hữu dụng trong hiển thị phổ tần số, phổ biên độ và lọc dùng DFT. Từ biểu thức (6.44) chúng ta rút ra kết luận rằng dịch chuyển một hằng số trong ảnh sẽ không tác động đến phổ biên độ. )()( 21 ).(/2 21 21 nnHennH bnanNj (6.46) Biểu thức (6.46) cũng quan hệ đến bộ lọc 2-D. Xem xét đặc tính của bộ lọc 2-D cho bởi ).(/2 2 1 2 1 21 ),(),( bnanNj ennAnnH ở đây A(n 1 ,n 2 ) là phổ biên độ. Nếu một ảnh với phổ tần số cho bởi I(n 1 ,n 2 ) đợc lọc qua bộ lọc có đặc tuyến pha tuyến tính cho bởi biểu thức ở trên, kết quả sẽ là a)-na,-(n )],(),([),(]),([| 21 ).(/2 212121 ).(/2 21 2121 f bnanNjbnanNj i ennAnnInnIennA (6.47) ở đây i f (n 1 -a, n 2 -b) ký hiệu cho ảnh đã đợc lọc. Một bộ lọc với đặc tuyến pha tuyến tính có nghĩa là không dịch chuyển biên độ. Trong khi đó nếu bộ lọc có đặc tuyến pha không tuyến tính thì pha của ảnh cũng bị biến dạng. Lý 112 do của sự biến dạng này là tất cả các điểm đều phải chịu một sự dịch chuyển vị trí khác nhau tuỳ theo vị trí của ảnh. Tổng quát, ảnh đã đợc lọc có thể cho bởi ))n,n f( - n ),n,(n f - (n i 212211f ở đây f là hàm dịch chuyển vị trí. Chú ý rằng một ảnh biến dạng pha sẽ xuất hiện trên màn hình nh một ảnh mờ . Tính đối xứng liên hợp và tuần hoàn. Biến đổi2-D DFT và IDFT tuần hoàn với chu kỳ N có nghĩa là : N)nN,H(n N)n,H(n )nN,H(n )n,(n 21 212121 H (6.48) và N)kN,h(k N)k,h(k )kN,h(k )k,h(k 21 212121 (6.49) Biến đổi DFT đối xứng liên hợp khi )n- ,(-n*H )n,H(n 2 1 2 1 (6.50) hoặc )n- ,H(-n )n,H(n 2 1 2 1 (6.51) Quay. Nếu chúng ta đặt k 1 và k 2 dới dạng cos r k 2 sinr k 1 thì )(r,h)rcos,rsin h( )k,h(k 2 1 Và tơng tự cho n 1 , n 2 sinn cosn 1 2 hoặc )(r,H )n,H(n 2 1 từ định nghĩa của DFT chúng ta có thể có h r H( , ) ( , ) 0 0 (6.52) 113 Điều đó có nghĩa là nếu ảnh bị quay đi một góc 0 thì phổ của nó cũng bị quay đi một góc nh vậy. Phân phối và chia độ. Từ biểu thức (6.1) chúng ta dễ thấy )n,(nbH)n,(naH )k,(kh b )k,(kh a 2 1 2 2 1 1 2 1 2 2 1 1 (6.53) ở đây a,b là những độ chia. Cũng nh vậy ),( 1 ),( 21 21 b n a n H ab bkakh (6.54) 6.4.3 Giá trị trung bình Mức cờng độ sáng trung bình trong một ảnh cho bởi : h N h k k k N k N 1 2 1 2 0 1 0 1 11 ( , ) (6.55) hoặc từ biểu thức (6.1) ta có thể viết h H ( , )0 0 Điều này có nghĩa là H(0,0) biểu diễn mức sáng của ảnh. 6.4.4 Tích chập và sự tơng quan Tích chập của tín hiệu 2-D h 1 (k 1 ,k 2 ) và h 2 (k 1 ,k 2 ) cho bởi g n n h k k h n k n k k N k N ( , ) ( , ) ( , ) 1 2 1 1 2 2 1 1 2 2 0 1 0 1 21 (6.56) Nếu h 1 (k 1 ,k 2 ) đợc xác định trên miền k A k B 1 1 0 1 0 1 , , và nếu h 2 (k 1 ,k 2 ) đợc xác định trên miền k C k D 1 1 0 1 0 1 , , thì chúng ta có thể thấy rằng nếu hai tín hiệu có giá trị zero ngoài miền xác định của chúng thì M = A + C - 1 và N = B + D - 1. Tích chập của hai tín hiệu 2-D đợc viết trong dạng ký hiệu nh sau: )k,(kh* )k,(kh 2 1 2 2 1 1 Có thể thấy rằng 114 )n,(n)Hn,(nH )k,(kh* )k,(kh 2 1 2 2 1 1 2 1 2 2 1 1 (6.57) Điều này có nghĩa là, tích chập trong miền không gian biến thành phép nhân bình thờng trong miền tần số. Tính chất này có thể dùng cho lọc 2-D qua DFT. Chúng ta cần nhớ lại rằng bạn đã dùng kỹ thuật lọc FIR trong các chơng trớc cho chức năng này. Khi áp dụng các lọc bộ lọc FIR cho chức năng lọc bạn cần lấy tín hiệu khoảng cách 2-D đã đợc biến thành tín hiệu có chu kỳ trớc khi tiến hành lấy DFT. Sự không đồng bộ của chu kỳ trong biến đổi này cũng gây ra lỗi nh trong biến đổi 1-D. Vì vậy, để tránh trờng hợp này ta cần thêm các số 0 vào cả hai các hàm không gian để cho chúng có kích thớc M N với M A + C - 1 và N B + D - 1. Tơng quan hoặc tơng quan chéo của tín hiệu 2-D định nghĩa bởi g n n h k k h n k n k k N k N ( , ) ( , ) ( , ) 1 2 1 1 2 2 1 1 2 2 0 1 0 1 21 (6.58) Biểu thức này đợc viết dới dạng ký hiệu g n n h k k h k k( , ) ( , ) ( , ) 1 2 1 1 2 2 1 2 (6.59) Tơng quan chéo thờng đợc gọi là lọc kết hợp và dùng để phát hiện ra phần đầu dấu hiệu các vết sắc nổi trên ảnh. Nó có thể cho thấy rằng h k k h k k H n n H n n 1 1 2 2 1 2 1 1 2 2 1 2 ( , ) ( , ) ( , ). ( , ) (6.60) 6.5 2-D FFT Biểu thức cho 2-D DFT có thể dới dạng 11 1 2 22 ./2. 1 0 1 0 ./2. 2121 ]),([),( knNj N k N k knNj eekkhnnH (6.61) Đặt 2121 2 ./2. 1 0 2121 ),(),( knNj N k ekkhkkG (6.62) với k 1 = 0,1,2, , N-1. Vì vậy mà biểu thức (6.61) có thể viết lại dới dạng . H n n G k n e k N j N n k ( , ) ( , ) . / . 1 2 1 2 0 1 2 1 1 1 (6.63) với n 1 =0,1,2, ,N-1. . int); 0 2 4 6 8 10 12 14 1 3 5 7 9 11 13 15 0 4 8 12 2 6 10 14 1 5 9 13 3 7 11 15 0 8 4 12 2 10 6 14 1 9 5 . của n 1 và n 2 và gọi là phổ tần số và phổ pha của H(n 1 ,n 2 ). 6 .4. 1 Biến đổi ngợc 2-D DFT Hàm h(k 1 ,k 2 ) là biến đổi ngợc của 2-D DFT (IFFT) của H(n 1 ,n 2 ) và đợc cho bởi biểu thức. hiệu khoảng cách 2-D đã đợc biến thành tín hiệu có chu kỳ trớc khi tiến hành lấy DFT. Sự không đồng bộ của chu kỳ trong biến đổi này cũng gây ra lỗi nh trong biến đổi 1-D. Vì vậy, để tránh trờng

Ngày đăng: 29/07/2014, 04:20

TỪ KHÓA LIÊN QUAN