How to represent waveform (sum of sinusoids) in complex notation
25 次查看(过去 30 天)
显示 更早的评论
Hi,
I have a sum sinusoids to make a waveform, each sinusoid has a different phase attached to it.
clear
f = (20.2 : 0.01 : 21.2)*10^9;
Fs = 5*max(f);
Ts = 1/Fs;
end_t = 0.2*10^(-6);
dt = 0 : Ts : end_t-Ts;
for a = 1:length(f)-1
random_phase = 2*pi*rand(1,1);
%y(a,:) = 2 * sin(2*pi .* f(a) .* dt + random_phase);
end
waveform = sum(abs(y))
plot(dt,waveform)
I need to amplify this waveform, but the amplification being applied is in the form of a vector, it has an increase amplitude (gain) component and also a phase change component.
So the waveform is amplified but also subjected to phase change at instances in time.
To do this, my original waveform must be complex so I can multiply two complex numbers together to get the amplified waveform.
How do I do get my original code in a complex form?
0 个评论
采纳的回答
Jan
2018-1-9
编辑:Jan
2018-1-9
What about:
y(f,:) = cos(2*pi .* f .* dt + random_phase) + ...
1i * sin(2*pi .* f .* dt + random_phase);
Or equivalently:
y(f,:) = exp(1i * (2*pi .* f .* dt + random_phase));
2 个评论
Jan
2018-1-9
Trimmed down to what? A complex sin wave can be expressed as
y = A * exp(k * t + a)
to define amplitude, frequency and phase shift. Together with the Euler formula: exp(ix) = cos(x) + i * sin(x) you get the shown code.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Continuous Waveforms 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!