calculate with Twiddle factor
28 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Victor Cubedo
am 25 Dez. 2023
cos(2pi*n*k/N)-j*sin(2pi*n*k/N) , N = 4,8,16, k and n = rows and colums
Antworten (2)
Sulaymon Eshkabilov
am 25 Dez. 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 Kommentare
Pramita
am 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 Kommentare
Siehe auch
Kategorien
Mehr zu Fourier Analysis and Filtering finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
