Beamforming is a signal processing technique used to control the directionality of the reception or transmission of a signal. I am looking for an example of beamforming using Signal Processing Toolbox functions.
Kshitij Singh answered .
2025-11-20
sig = rand(100, 10); %100 samples from the 10 sources %Columns correspond to data sources %Known delays in terms of number of samples. delays = [0 1 3 5 6 9 11 2 7 8]; %Create delay filters H = zeros(max(delays)+1, 10); %10 filters %Specify delay filter by listing coefficients of the polynomial in z^-1 %[1 1 2 3 4 5 6 7 8 9 10] = 1 + z^-1 + 2z^-2 + 3z^-3 + ... + 10z^-10 %Delay filter with delay of 4 samples = z^-4. == transp([0 0 0 0 1]) H(sub2ind(size(H), delays+1, 1:length(delays))) = 1 %Use the function UPFIRDN to filter the signals %i.e. apply the delay filteredSig = upfirdn(sig, H); %Now sum the resulting waveforms s = sum(filteredSig, 2);
For information on the UPFIRDN and the SUB2IND functions execute the following at the MATLAB command prompt:
doc upfirdn doc sub2ind