Ошибка при использовании функции bandpass в Matlab - PullRequest
0 голосов
/ 26 мая 2020

Я пытаюсь сделать супергетеродинный приемник в Matlab. Это блок-схема, приведенная в моей книге:

enter image description here

Я реализовал модуляцию сигнала:

freq_message = 1;
freq_carrier = 10;

w_message = 2*pi*freq_message;
w_carrier = 2*pi*freq_carrier;

message_signal = 5*cos(w_message*time);
carrier_signal = 10*cos(w_carrier*time);

modulated = message_signal .* carrier_signal;

Теперь я wi sh, чтобы добавить полосовой фильтр в начале приемника, и я попытался использовать функцию in-build bandpass:

err = 1; % bandpass freq_carrier-err to freq_carrier+err
out_bandpass = bandpass(modulated,[freq_carrier-err,freq_carrier+err]);

Но я получаю эту ошибку :

Error using signal.internal.filteringfcns.parseAndValidateInputs>validateParameters (line 229)
Normalized passband frequency values must be in the (0,1) interval. Use a value in the (0,1) interval or specify a sample rate.

Error in signal.internal.filteringfcns.parseAndValidateInputs (line 98)
opts = validateParameters(opts);

Error in bandpass (line 103)
opts = signal.internal.filteringfcns.parseAndValidateInputs(x,'bandpass',varargin);

Error in untitled (line 66)
out_bandpass = bandpass(modulated,[freq_carrier-err,freq_carrier+err]);

...