I component of the Fast Fourier program to execute the bit-reversal Transform. T
ID: 2250280 • Letter: I
Question
I component of the Fast Fourier program to execute the bit-reversal Transform. That is, given a vector of data x =[x,"x,, ,Xy.) with N a power of 2 (eg, 2,4,8128,256), write a MATLAB function that lists the data in bit-reversed form. The figure shows that a data vector of length 8, x=[x,,x,,x,,x,,x,,x.xs] would be converted to the vector BR(x)-[x, r, .,.^,.x,,x,x,]. (Hint: Use the Matlab functions dec2bin, bin2dec.) 6. Write a MATLAB 001 010 011 100 101 110 001 010 011 100 101 110 001 010 011 100 101 110Explanation / Answer
clear all;
close all;
%=============Bit Reversal Operation in MATLAB==========%
n=3; %Take an integer to find bit reversal for 2^n numbers
numbers=0:(2^(n)-1);
bit_reversed_numbers=zeros(1,length(numbers));
display(['Input in decimal is ', num2str(numbers)]);
for i=1:length(numbers)
for j=1:n
%Take the LSB each time add it to the reversal and left shift the reversal
bit_reversed_numbers(i) = bitshift(bit_reversed_numbers(i),1) + bitand(numbers(i),1);
numbers(i) = bitshift(numbers(i),-1);
end
end
numbers_bin=dec2bin(numbers);
bit_reversed_numbers_bin=dec2bin(bit_reversed_numbers);
display(['Bit Reversal in decimal is ', num2str(bit_reversed_numbers)]);
display('Input in binary:');
numbers_bin
display('Bit Reversal in binary:');
bit_reversed_numbers_bin
%=====PROGRAM ENDS====%
Output:
Input in decimal is 0 1 2 3 4 5 6 7
Input in binary:
numbers_bin =
000
001
010
011
100
101
110
111
Bit Reversal in decimal is 0 4 2 6 1 5 3 7
Bit Reversal in binary:
bit_reversed_numbers_bin =
000
100
010
110
001
101
011
111
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.