calculate with Twiddle factor
26 views (last 30 days)
Show older comments
Does anybody knows how to calculate the Twiddle Factors?
For example: for n=4 you have to do the calculate Wn= e^(-j*2*π)/n and ypu have to do it for a table 4x4. table looks like..

the second is the table after calculate the 4x4
and i need this for calculate twiddle factors for n=8,16,24...
2 Comments
Victor Cubedo
on 25 Dec 2023
cos(2pi*n*k/N)-j*sin(2pi*n*k/N) , N = 4,8,16, k and n = rows and colums
Answers (2)
Sulaymon Eshkabilov
on 25 Dec 2023
This is one of the possible solutions:
N = 4;
Twiddle_Factors = zeros(N, N);
for k = 0:N-1
for n = 0:N-1
Twiddle_Factors(k+1, n+1) = exp(-1i * 2 * pi / N * k * n);
end
end
disp('Twiddle Factors of size 4-by-4: ');
disp(Twiddle_Factors);
0 Comments
Pramita
on 19 Jan 2025
N = 8; % Number of points in DFT
w = zeros(1, N); % Pre-allocate array for twiddle factors
% Calculate the twiddle factors
for r = 0:N-1
w(r+1) = exp((-1j) * 2 * pi * r / N);
end
% Calculate Magnitude and Phase
Mag = abs(w);
Phase = (angle(w) / pi) * 180; % Convert phase to degrees
% Plotting
figure;
% Plot Magnitude
subplot(2,1,1);
stem(0:N-1, Mag, 'filled');
title('Magnitude of Twiddle Factors');
xlabel('Index');
ylabel('Magnitude');
grid on;
% Plot Phase
subplot(2,1,2);
stem(0:N-1, Phase, 'filled');
title('Phase of Twiddle Factors (degrees)');
xlabel('Index');
ylabel('Phase (degrees)');
grid on;
% Periodicity Check: W^(k+N) == W^k
k = 3; % Example index for periodicity check
disp(['Periodicity check: W^(', num2str(k), '+N) == W^(', num2str(k), '): ', num2str(w(k+1) == w(mod(k+N, N)+1))]);
% Symmetry Check: W^(-k) == conj(W^k)
disp(['Symmetry check: W^(-', num2str(k), ') == conj(W^', num2str(k), '): ', num2str(w(mod(-k, N)+1) == conj(w(k+1)))]);
0 Comments
See Also
Categories
Find more on Fourier Analysis and Filtering in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!