How to use sinc function

76 ビュー (過去 30 日間)
Ricardo Uziel Rosales Ibañez
Ricardo Uziel Rosales Ibañez 2020 年 6 月 4 日
回答済み: David Goodmanson 2022 年 11 月 23 日
I am getting an error that reads, "Check for missing argument or incorrect argument data type in call to function 'sinc' ". I am trying to implement this piecewise function, for designing FIR filter using the Fourier series method. This is what I am doing:
omegac = 0.3*pi; % Cutoff frequency
L = 50; % Filter order L = 61
M = (L-1)/2; % M
l = 0:2*M; % Coefficient index l
h = omegac/pi*sinc(omegac*(l-M)/pi); % Compute coefficients
omega = -pi:2*pi/200:pi; % Frequency range
Hd = freqz(h,1,omega); % Frequency response
plot((omega/pi),abs(Hd)),... % Use normalized frequency
xlabel('Normalized frequency'), ylabel('Magnitude'), grid;
axis([-1 1 0 1.2]);
  2 件のコメント
Walter Roberson
Walter Roberson 2020 年 6 月 4 日
Is the problem only showing up when you use MATLAB Coder, or is it happening in basic MATLAB as well?
Your posted code works for me.
Could you confirm that you have Signal Processing Toolbox installed and licensed?
ROBERT Gomez
ROBERT Gomez 2022 年 11 月 22 日
Thanks a lot for this sir.

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

採用された回答

David Goodmanson
David Goodmanson 2022 年 11 月 23 日
Hi Ricardo,
while it might be nice to have the Signal Processing toolbox, you certainly don't need to buy any toolboxes to do this, same with other simple functions that happen to be squirreled away in one toolbox or another. One of the good things about Matlab is you can make your own function and save it somewhere on your path.
function y = sincc(x)
% sinc function, sin(pi*x)/(pi*x)
% y = sincc(x)
y = sin(pi*x)./(pi*x);
y(isnan(y)) = 1;
Here I just called it sincc so that it would not conflict with the Matlab function. No error checking or anything, but if you own the function you can decide how much of that is appropriate.

その他の回答 (1 件)

Ayush Goyal
Ayush Goyal 2020 年 6 月 18 日
From my understanding of the question you are trying to use the sinc function but getting error while calling it. To use the sinc function you must have licensed and installed the Signal Processing Toolbox. To check all the installed toolboxes in MATLAB you can use command “ver”. In case you don’t find the Signal Processing Toolbox installed you can refer to the following link to install the toolbox:

カテゴリ

Help Center および File ExchangeIntroduction to Installation and Licensing についてさらに検索

タグ

製品


リリース

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by