Matlab+signal processing question -finding output signal using FRF

Click For Summary
SUMMARY

The discussion focuses on finding the output signal in MATLAB using an input data vector and a frequency response function (FRF) vector. The input vector is approximately 1x25000 in length, while the FRF vector is 1x129. Two primary methods are suggested: first, applying the Fast Fourier Transform (FFT) to the input vector and multiplying it with the FRF, which requires matching the sizes of the vectors; second, transforming the FRF using the Inverse Fast Fourier Transform (IFFT) and convolving it with the input vector, which also necessitates size compatibility. Interpolation of the FRF data is recommended to align the frequency intervals.

PREREQUISITES
  • Familiarity with MATLAB programming
  • Understanding of Fast Fourier Transform (FFT) and Inverse Fast Fourier Transform (IFFT)
  • Knowledge of convolution in signal processing
  • Experience with interpolation techniques for data alignment
NEXT STEPS
  • Research MATLAB's FFT and IFFT functions for signal transformation
  • Learn about zero padding techniques to match vector sizes
  • Explore convolution methods in MATLAB for signal processing
  • Study interpolation methods to align frequency response data
USEFUL FOR

This discussion is beneficial for signal processing engineers, MATLAB users, and researchers working on frequency response analysis and output signal estimation.

berdan
Messages
31
Reaction score
1
So,I got this vector of input data in Matlab,which is vector of approx 1x25000 length.
I have frequency responce function attained by different estimators (H1,H2,Arx).
Anyway,my FRF is also a vector of 1x129 length.

Those two are different sized vectors.How should I find the output data using input data and this obtained FRF vector?

One way is to transform input vector (which is sampled data) with FFT ,and then just multiply input vector with FRF,element by element = X(i)*Y(u) .But those two vectors would be different sizes,how should I make them both same size?
What is the correct approach in this case?I remember learning something about zero padding,how is it done?

Second way is transform FRF (IFFT) into time domain vector,and then convolve those two vectors.But again,those two will be different sized vectors,how should I do it?

Thanks in advance!
 
Physics news on Phys.org
You need to be a little more specific. Is the input data a time domain signal where you want to estimate the output from the frequency response function? Or is the input in the frequency domain as well? Do the 129 points of your FRF cover the entire frequency band of the function eventually?
 
berdan said:
One way is to transform input vector (which is sampled data) with FFT ,and then just multiply input vector with FRF,element by element = X(i)*Y(u) .But those two vectors would be different sizes,how should I make them both same size?

Second way is transform FRF (IFFT) into time domain vector,and then convolve those two vectors.But again,those two will be different sized vectors

The two vectors need to have the same frequency intervals in option 1, or the same time intervals in option 2.

For example if you have a table of values of the FRF (amplitude and phase at each frequency), you could fit a curve through the data and interpolate for different frequencies.
 

Similar threads

  • · Replies 10 ·
Replies
10
Views
4K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 4 ·
Replies
4
Views
4K
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 11 ·
Replies
11
Views
4K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K