# Frequency of combined waveform

8 views (last 30 days)
a on 3 Feb 2013
Dear all, I have two waves(one is wave load on the modal and other sinusoidal oscillation of one boundary of the modal. I combined the waves in matlab with this code.
t = 0:1:100;
x = 1.949*sin(2*pi*0.08416*t+5.97219) + 2*sin(2*pi*0.1111*t);
plot(t,x);
I want to find the frequency of the combined waveform.
Data for the wave
• Wave 1) Amplitude = 1.949m , frequency = 0.5288 rad/sec, phase angle = 5.97219
• Wave 2) Amplitude = 2m frequency = 0.69813 rad/sec, phase angle = 0
Thanks

Wayne King on 4 Feb 2013
There is no way to define a single frequency for this waveform. The waveform is the superposition of 2 frequencies, 0.08416 cycles\second (sample) and 0.1111 cycles\second (sample).
a on 5 Feb 2013
Actually i am new here and its my first post. I'm sorry as i was supposed to give the background of the problem.
I'm working on an offshore problem. My model is a Pipe whose first few natural frequencies are 0.25241 , 0.50455, 0.75615, 1.0069, 1.2566, 1.5008.... rad/sec.
The loads on the modal are (harmonic)
1) Random Wave
2) Oscillation of pipe at top(pipe is attached to a ship).
I plotted PSD for section moment (power spectral density)for case 1 = when only randon wave is acting and case 2 = random wave + ship motion
Random waves are generated from a single wave of Amplitude = 6m and T = 9sec into 50 waves. The first wave have frequency 0.52 rad/sec. So for case 1 i am getting a peak in the PSD plot around 0.45 rad/sec which is close to both natural frequency of pipe and also the frequency of the random wave , hence justifying the peak.
The issue is with the case 2 ... When i plot the PSD for this case i am getting peak around 0.16 rad/sec which may be considered close to 0.25 rad/sec (natural frequency of model) but the frequency of random wave starts with 0.52 rad/sec and also the frequency of ship oscillation is 0.69 rad/sec. both frequencies quiet far from the natural frequencies. So i was just wondering may be these 2 frequencies combined to give a new frequency close to 0.16 rad/sec where the peak appeared in the PSD.
I agree with Wayne King that there cannot be single frequency as we can see the pattern of wave when those 2 waves are combined.
Coming to the point of Image Analyst that the wave pattern is repeating at some period. That period is around T=36 . so the frequency will be close to 0.17 rad/sec. If this is true then it justifies the Peak i am getting in the PSD which is at 0.16 rad/sec.
Wayne King as u said there cannot be single frequency for the combined waves, but can this(0.17 rad/sec) be one of its frequencies??

Miroslav Balda on 4 Feb 2013
It is not clear what you want to find. However, the next code finds all parameters of the combined wave, i.e. amplitudes, frequencies and phases of a signal composed out of 2 sinewaves:
|
% Azzi
%%%%%%% 4.2.2013
clc
clear all
close all
global p0 x t
N = 100;
T = 1;
T1 = N*T;
t = (0:N-1)*T;
x = 1.949*sin(2*pi*0.08416*t+5.97219) + sin(2*pi*0.1111*t);
df = 1/T1;
f = (0:N-1)*df;
pL = {'FontSize',12,'FontWeight','bold'}; % label font properties
pT = {'FontSize',14,'FontWeight','bold'}; % title font properties
h1 = fig(1); % www.mathworks.com/matlabcentral/fileexchange/9035
plot(t,x); hold on; grid;
xlabel('t [s]',pL{:})
ylabel('fun(t)',pL{:})
title('fun(t) = sum of two sines',pT{:})
% Find initial estimates of parameters:
X = fft(x)*T; % approximation of FT
aX = abs(X);
L = extr(aX); % www.mathworks.com/matlabcentral/fileexchange/10272
Xp = aX(L{1}); % peaks
fp = f(L{1}); % frequency at peaks
h2 = fig(2);
plot(f,aX, f(L{1}),Xp,'or'); hold on; grid;
xlabel('f [Hz]',pL{:})
ylabel('modulus of fft(fun(t))',pL{:})
title('fft(fun(t))',pT{:})
p0 = zeros(6,1); % Find vector of initial estimates:
p0(1:2) = fp(1:2)'; % frequencies at peaks
p0(3:4) = 2*Xp(1:2)'/N; % rough amplitude estimates
quota = imag(X(L{1}))./real(X(L{1}));
p0(5:6) = atan(quota(1:2))';% phases
% Solution of an overdetermined set of nonlinear equations
% LMFnlsq from www.mathworks.com/matlabcentral/fileexchange/17534
[p,ssq,cnt] = LMFnlsq(@resid,ones(size(p0)),'Display',-1);
fprintf('\n p0 p\n\n');
fprintf('%15.10f%15.10f\n', [p0, p.*p0]');
fun = resid(p)' + x;
figure(h1);
pause(1)
plot(t,fun,'--r')
The program applies three functions from FEX - fig for figure placement, extr for finding extremal values in a vector, and LMFnlsq for least squares solution of an overdetermined system of nonlinear equations by Levenberg-Marquardt method in Fletcher's modification.
The code is able to solve more general task then the given one - all frequencies, amplitudes and phases are assumed being unknowns. The solution p of the given problem has been found in 9 iterations starting from the initial estmates p0, which have been obtained applying FFT to given time series. The initial parameters p0 and the obtained solution p have been
| p0 p
0.0800000000 0.0841600000
0.1100000000 0.1111000000
1.4570270622 1.9489999990
0.7896867594 1.0000000004
-0.5751678654 -0.3109953111
-1.3988961788 0.0000000020|
Since the p parameters practically equal those from the formula for x, the original line and that with evaluated p coincide.
Sorry, if you need something else.
a on 5 Feb 2013
See My comment above

### Categories

Find more on Continuous Waveforms in Help Center and File Exchange

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!