Демодуляция для симуляции связи
Сгенерируйте синусоид 150 Гц, отобранный с частотой дискретизации 8 кГц в течение 1 секунды. Встройте модулированный сигнал в белый Гауссов шум отклонения 0,1 ².
fs = 8e3; t = 0:1/fs:1-1/fs; s = cos(2*pi*150*t) + randn(size(t))/10;
Частота модулирует сигнал на несущей частоте 3 кГц с помощью константы модуляции 0,1.
fc = 3e3;
rx = modulate(s,fc,fs,'fm',0.1);Частота демодулирует сигнал, используя ту же несущую частоту и постоянную модуляции. Вычислите и постройте оценки спектра степени для переданных, принятых и демодулированных сигналов.
y = demod(rx,fc,fs,'fm',0.1); pspectrum([s;rx;y]',fs,'Leakage',0.85) legend('Transmitted signal','Received signal','Demodulated signal','Location','best')

y - Модулированный сигналМодулированный сигнал сообщения, заданный как вектор действительных чисел или матрица. За исключением методов pwm и ppm, y - тот же размер, что и x.
fc - Несущая частотаНесущая частота, используемая для моделирования сигнала сообщения, заданная как действительная положительная скалярная величина.
fs - Частота дискретизацииЧастота дискретизации, заданная как действительная положительная скалярная величина.
method - Используемый метод модуляции'am' (по умолчанию) | 'amdsb-tc' | 'amssb' | 'fm' | 'pm' | 'pwm' | 'ppm' | 'qam'Используемый метод модуляции, заданный как один из:
am или amdsb-sc - Амплитудная демодуляция, двойная боковая полоса, подавленная несущая. Умножает y синусоидой частоты fc и применяет фильтр lowpass пятого порядка Butterworth с использованием filtfilt.
x = y.*cos(2*pi*fc*t); [b,a] = butter(5,fc*2/fs); x = filtfilt(b,a,x);
amdsb-tc - Амплитудная демодуляция, двойная боковая полоса, переданная несущая. Умножает y синусоидой частоты fc и применяет фильтр lowpass пятого порядка Butterworth с использованием filtfilt.
x = y.*cos(2*pi*fc*t); [b,a] = butter(5,fc*2/fs); x = filtfilt(b,a,x);
Если вы задаете opt, demod вычитает скалярные opt от x. Значение по умолчанию для opt равен 0.
amssb - Амплитудная демодуляция, одинарная боковая полоса. Умножает y синусоидой частоты fc и применяет фильтр lowpass пятого порядка Butterworth с использованием filtfilt..
x = y.*cos(2*pi*fc*t); [b,a] = butter(5,fc*2/fs); x = filtfilt(b,a,x);
fm - Частотная демодуляция. Демодулирует форму FM-волны путем модулирования преобразования Гильберта y по комплексной экпоненте частот -fc Гц и получает мгновенную частоту результата.
y=cos(2*pi*fc*t + opt*cumsum(x))
cumsum - прямоугольное приближение интеграла x. modulate использует opt как константа частотной модуляции. Если вы не задаете opt параметр, modulate использует значение по умолчанию opt = (fc/fs)*2*pi/(max(max(x))) поэтому максимальная частотная экскурсия от fc является fc Гц.
pm - Фазовая демодуляция. Демодулирует форму волны PM путем модулирования преобразования Гильберта y по комплексной экпоненте частот -fc Гц и получает мгновенную фазу результата.
y=cos(2*pi*fc*t + opt*x)
modulate использует opt как константа фазовой модуляции. Если вы не задаете opt параметр, modulate использует значение по умолчанию opt = pi/(max(max(x))) так что максимальная фаза экскурсия - π радиан.
pwm - Демодуляция ширины импульса. Находит ширины импульсного сигнала с модуляцией ширины импульса y. demod возвращается в x вектор, элементы которого задают ширину каждого импульса в долях периода. Импульсы в y должны начинаться в начале каждого периода перевозчика, т.е. должны быть оставлены обоснованными. modulate(x,fc,fs,'pwm','centered') приводит к импульсам, центрированным в начале каждого периода. Длина y является length(x)*fs/fc.
ppm - Импульсно-позиционная демодуляция. Находит импульсные положения импульсно-позиционного модулированного сигнала y. Для правильной демодуляции импульсы не могут перекрываться. x - длина length(t)*fc/fs.
qam- Квадратурная амплитудная демодуляция. [x1,x2] = demod(y,fc,fs,'qam') умножает y косинусом и синусом частоты fc и применяет фильтр lowpass пятого порядка Butterworth с использованием filtfilt.
x1 = y.*cos(2*pi*fc*t); x2 = y.*sin(2*pi*fc*t); [b,a] = butter(5,fc*2/fs); x1 = filtfilt(b,a,x1); x2 = filtfilt(b,a,x2);
Входной параметр opt должен быть того же размера, что и y.
opt - Необязательный вход для некоторых методовНеобязательный вход, заданный для некоторых методов. См. method для получения дополнительной информации о том, как использовать opt.
x - Демодулированный сигнал сообщенияДемодулированный сигнал сообщения, возвращенный как вектор действительных чисел или матрица.
modulate | vco | fskdemod (Communications Toolbox) | genqamdemod (Communications Toolbox) | mskdemod (Communications Toolbox) | pamdemod (Communications Toolbox) | pmdemod (Communications Toolbox) | qamdemod (Communications Toolbox)
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.