регулировка амплитудной модуляции / формирование волны - PullRequest
0 голосов
/ 30 ноября 2011

У меня есть некоторый рабочий код, который выполняет амплитудную модуляцию и составляет ее график.Однако я пытаюсь изменить то, как выглядит модуляция (переменная y) , чтобы она выглядела как форма яйца.Я нашел уравнение / веб-сайт, который выглядит хорошо http://www16.ocn.ne.jp/~akiko-y/Egg/index_egg_E.html, но я не уверен, как преобразовать его в код matlab / octave, чтобы изменить переменную y

%test_amplitude modultaion
fs=1000;
t=linspace(0,2*pi,fs);

mt=1*sin(100*t); %signal you want to use
y=mt.*(1+cos(1*t+pi));%modulation equation, use pi to shift over 90 deg to start at 0

y=y';
y_norm=(y(:,1)/max(abs(y(:,1)))*.8); %normalize signal

plot(y_norm)

PS: это matlab/ код октавы

1 Ответ

1 голос
/ 30 ноября 2011

Используя уравнения, приведенные на странице, которую вы связали:

a = 2*pi;
b = a; % change this depending on the shape of the egg you want

mt=1*sin(100*t); %signal you want to use
y = mt.*sqrt((a-b)-2*t + sqrt(4*b*t + (a-b)^2)).*sqrt(t)/sqrt(2); % modulation

Остальная часть вашего кода A-OK, хотя я бы, вероятно, использовал plot(t,y_norm) в конце.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...