amdemod

Амплитудная демодуляция

Синтаксис

z = amdemod(y,Fc,Fs)
z = amdemod(y,Fc,Fs,ini_phase)
z = amdemod(y,Fc,Fs,ini_phase,carramp)
z = amdemod(y,Fc,Fs,ini_phase,carramp,num,den)

Описание

z = amdemod(y,Fc,Fs) демодулирует амплитуду модулируемый y сигнала от сигнала поставщика услуг с частотой Fc (Гц). Сигнал поставщика услуг и y имеют демонстрационную частоту Fs (Гц). Модулируемый y сигнала имеет нулевую начальную фазу и нулевую амплитуду поставщика услуг, таким образом, это представляет подавленную модуляцию поставщика услуг. Процесс демодуляции использует фильтр lowpass, заданный [num,den] = butter(5,Fc*2/Fs).

Примечание

Аргументы Fc и Fs должны удовлетворить Fs> 2 (Fc + BW), где BW является пропускной способностью исходного сигнала, который модулировался.

z = amdemod(y,Fc,Fs,ini_phase) задает начальную фазу модулируемого сигнала в радианах.

z = amdemod(y,Fc,Fs,ini_phase,carramp) демодулирует сигнал, который был создан через переданную модуляцию поставщика услуг вместо подавленной модуляции поставщика услуг. carramp является амплитудой поставщика услуг модулируемого сигнала.

z = amdemod(y,Fc,Fs,ini_phase,carramp,num,den) задает числитель и знаменатель фильтра lowpass, используемого в демодуляции.

Примеры

свернуть все

Установите частоту дискретизации и несущую частоту.

fc = 10e3;
fs = 80e3;

Сгенерируйте синусоидальный сигнал, имеющий 0,01 длительности с.

t = [0:1/fs:0.01]';
s = sin(2*pi*300*t)+2*sin(2*pi*600*t);

Создайте фильтр lowpass.

[num,den] = butter(10,fc*2/fs);

Амплитуда модулирует сигнал, s.

y = ammod(s,fc,fs);

Демодулируйте полученный сигнал.

s1 = amdemod(y,fc,fs,0,0,num,den);

Постройте исходные и демодулируемые сигналы.

plot(t,s,'c',t,s1,'b--')
legend('Original Signal','Demodulated Signal')
xlabel('Time (s)')
ylabel('Amplitude')

Демодулируемый сигнал почти идентичен исходному сигналу.

Смотрите также

| | |

Представлено до R2006a