IFFT function length question

3 ビュー (過去 30 日間)
Charles Moody
Charles Moody 2018 年 4 月 26 日
コメント済み: Charles Moody 2018 年 4 月 26 日
I made a piecewise function that I want to take the inverse fourier transform of,both vector sizes are 1,4096 but for some reason there is an error stating the left and right side of the equation have mismatching sizes.
%Charles Moody %DSP Homework 11 - Custom FIR Problem 2 fs = 10000; n = 1024; f = 0:fs/n:(n-1)*fs/n; %The desired frequency response can be spelled out in a for loop L10W = zeros(1,4*n); for m = 1:4096 if m < 948 L10W(m) = 0; elseif m >= 948 && m<1048 L10W(m) = (-40/100)*(m-948); elseif m >= 1048 && m<1948 L10W(m) = -40; elseif m >= 1948 && m < 2048 L10W(m) = (20/100)*(m-1948)-40; elseif m >= 2048 && m <2948 L10W(m) = -20; elseif m >= 2948 && m<3048 L10W(m) = (-40/100)*(m-2948)-20; elseif m >= 3048 && m<4092 L10W(m) = -60; else L10W(m) = (-25/5)*(m-4092)-60;
end
end
%plot(L10W) %axis([200 4500 -80 10])
%now we have to get itout od decibels into base 1 unitslike volts
W = zeros(1,length(L10W)); for m = 1:(4*n) W(m) = 10^(L10W(m)/20); end
%plot(W)
h = zeros(1,length(W)); for m = 1:(4*n) h(m) = ifft(W); end
plot(h)
  1 件のコメント
Charles Moody
Charles Moody 2018 年 4 月 26 日
no?

サインインしてコメントする。

採用された回答

KALYAN ACHARJYA
KALYAN ACHARJYA 2018 年 4 月 26 日
% Change here h(m)=ifft(W(m)); Its working now
fs=10000;
n=1024;
f=0:fs/n:(n-1)*fs/n; %The desired frequency response can be spelled out in a for loop
L10W = zeros(1,4*n);
for m = 1:4096
if m < 948
L10W(m) = 0;
elseif m >= 948 && m<1048
L10W(m) = (-40/100)*(m-948);
elseif m >= 1048 && m<1948
L10W(m) = -40;
elseif m >= 1948 && m < 2048
L10W(m) = (20/100)*(m-1948)-40;
elseif m >= 2048 && m <2948
L10W(m) = -20;
elseif m >= 2948 && m<3048
L10W(m) = (-40/100)*(m-2948)-20;
elseif m >= 3048 && m<4092
L10W(m) = -60;
else
L10W(m) = (-25/5)*(m-4092)-60;
end
end
%plot(L10W) %axis([200 4500 -80 10])
%now we have to get itout od decibels into base 1 unitslike volts
W=zeros(1,length(L10W));
for m=1:(4*n)
W(m)=10^(L10W(m)/20);
end
%plot(W)
h=zeros(1,length(W));
for m=1:(4*n)
h(m)=ifft(W(m));
end
plot(h)
  1 件のコメント
KALYAN ACHARJYA
KALYAN ACHARJYA 2018 年 4 月 26 日

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeTransforms についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by