Thank you for visiting RF Cafe! Electronics World Cover,TOC,and list of posted Popular Electronics articles QST Radio & TV News Radio-Craft Radio-Electronics Short Wave Craft Wireless World About RF Cafe RF Cafe Homepage RF Cafe in Morse Code Google Search of RF Cafe website Sitemap Electronics Equations Mathematics Equations Equations physics Manufacturers & distributors Engineer Jobs Twitter LinkedIn Crosswords Engineering Humor Kirt's Cogitations Engineering Event Calendar RF Engineering Quizzes AN/MPN-14 Radar 5CCG Notable Quotes App Notes Calculators Education Magazines Software,T-Shirts,Coffee Mugs Articles - submitted by RF Cafe visitors Simulators Technical Writings RF Cafe Archives Test Notes Wireless System Designer RF Stencils for Visio Shapes for Word Search RF Cafe Sitemap Advertising Facebook RF Cafe Forums RF Cafe Homepage Thank you for visiting RF Cafe!

FFT Beamforming - RF Cafe Forums

The original RF Cafe Forums were shut down in late 2012 due to maintenance issues. Original posts:

Amateur Radio | Antennas | Circuits & Components | Systems | Test & Measurement


tsuzu
 Post subject: fft beamforming
Posted: Tue Apr 12, 2005 3:09 am 
i'm a beginner in this area.
i just learned about the basic algorithm of fft beamforming from internet.and want to implement the algorithm by using matlab,but i don't know how to start(ps,i'm also a new user of matlab).

can anyone give me some sample souce code, even segments are okay.
I'm really stuck in mud. 

thanks in advance.


 
  
 
Manar
 Post subject: Beamformer
Posted: Mon May 09, 2005 5:51 am 
Dear

Here I give you a sample code for creating the filter coefficients of a Delay and Sum beamformer. if you have any question you can contact me on my email palange@hotmail.fr

Have a nice day.




[code]
c = 340; % m/s
nfft = 128; % nfft length
i_omega = -i*2*pi/c; % f will be variable
n_mic = 7;
mics = [ (-10*3:10:10*3)' zeros(7,1) ]/100;
source = [-0.2 0.63]; % to be measured
fs = 22050; % Sampling Frequency
f = (0:nfft-1)*fs/nfft; % Frequency bins
W = zeros(n_mic,nfft);
d = zeros(n_mic,1);
w = zeros(n_mic,1);
r = zeros(n_mic,1);
u = zeros(n_mic,1);
bp = zeros(nfft,181);
bps = zeros(1,181);
% Filter Coef

for k = 1:n_mic
r(k) = norm( source - mics(k,:));
end

index = 1;

for p=f
d = exp(i_omega*p*r)./r;
w=d.*r;
w=w/abs(w'*d);
W(:,index) = w;


theta_v=[-90:1:90];
source_n=norm(source);
for theta = theta_v
s=[source_n*sin(theta*pi/180) source_n*cos(theta*pi/180)];
for k=1:n_mic
u(k) = norm(s-mics(k,:));
end
d=exp(i_omega*p*u)./u;
bps(theta+91)=20*log10(abs(w'*d));
end
bp(index,:)=bps;
index = index + 1;
end

% here you can plot the BP as a function of DoA for any frequency.


% Implementing the Beamforming

start = 1;
skiprate = nfft/2;
window = triang(nfft)';

num_samples = size(data,2); % data size

num_blocks = ceil((num_samples-nfft)/skiprate);


frame = 1:nfft;

data_frame = zeros(n_mic,nfft); % frame of data ( from each mic)

data_fft = zeros(nfft,n_mic); % FFT of the frame

s = zeros(1,nfft); % frame data (time)

S = zeros(1,(n_blocks+1)*nfft/2);

for m = 1 : n_blocks

data_frame = data(:,frame);

data_fft = fft(data_frame');

s = sum(conj(W).*data_fft');

S(frame) = S(frame) + real(ifft(s.*window));

frame = frame + skiprate;

end[\code]




Posted  11/12/2012

RF Cafe Software

   Wireless System Designer - RF Cafe
Wireless System Designer

RF & EE Symbols Word
RF Stencils for Visio
Calculator Workbook
RF Workbench
Smith Chartâ„¢ for Visio
Smith Chartâ„¢ for Excel

About RF Cafe

Kirt Blattenberger - RF Cafe WebmasterCopyright
1996 - 2022
Webmaster:
Kirt Blattenberger,
 BSEE - KB3UON

RF Cafe began life in 1996 as "RF Tools" in an AOL screen name web space totaling 2 MB. Its primary purpose was to provide me with ready access to commonly needed formulas and reference material while performing my work as an RF system and circuit design engineer. The Internet was still largely an unknown entity at the time and not much was available in the form of WYSIWYG ...

All trademarks, copyrights, patents, and other rights of ownership to images and text used on the RF Cafe website are hereby acknowledged.

My Hobby Website:
 AirplanesAndRockets.com

Try Using SEARCH
to Find What You Need. 
There are 1,000s of Pages Indexed on RF Cafe !

height-line