i want to implement kaiser window for given data . but always give following error (i-e ??? Error using ==> fir1 at 77 Frequencies must be increasing. Error in ==> kieser at 23 hn=fir1(N-1,Fc,kaiser(N,beta))).following is my code.
조회 수: 1 (최근 30일)
이전 댓글 표시
As=40;
passbandfreq=0.01;
transitionwidth=500;
fsamp=10000;
Fn=fsamp/2
fc=1200;
fc1=fc+normalizedtransitionwidth/2
fc2=fc-normalizedtransitionwidth/2
Fc1=fc1/Fn
Fc2=fc2/Fn
Fc=[Fc1,Fc2]
fcn=Fc/Fn
normalizedtransitionwidth=500/Fn
passbandfreq=10^(passbandfreq/20)-1
stopbandfreq=10^(-As/20)
delta=min(passbandfreq,stopbandfreq)
A=-20*log10(delta)
N=A-7.95/14.36*normalizedtransitionwidth
%%for A>=21dB and A<50dB
beta=0.5842*(A-21)^0.4+0.07886*(A-21)
hn=fir1(N-1,Fc,kaiser(N,beta))
[H,f]=freqz(hn,1.512,Fsamp)
anyone help please what should i do with frequency values in which error ocurred???
댓글 수: 0
채택된 답변
Walter Roberson
2015년 8월 17일
편집: Walter Roberson
2015년 8월 17일
Your code does not define normalizedtransmissionwidth until after it uses it.
Your N is not even close to being an integer -- it is about 58.715923542593 . Is using that as the number of points for a kaiser window defined? Is using 58.715923542593 as the order for the hamming window for fir1() defined?
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Kaiser에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!