Quantcast
Channel: Measurement Studio for .NET Languages topics
Viewing all articles
Browse latest Browse all 1999

Chebychev LPF always gives Attenuating Sine Wave

$
0
0

Hello,

 

No matter what I pass through to the Chebyshev low-pass filter, I am getting an attenuating sine wave back.

 

I have tried passing double values derived from an FFT based on the code below:

 

FFTFrequency = Index * ForcingFunctionSampleRate / ForcingFunctionBlockSize
FFTMagnitude = ComplexDataArray(Index).Magnitude
FFTGraphedMagnitude = 2 / ForcingFunctionBlockSize * FFTMagnitude

I then use the X and Y Values of "FFTFrequency" and FFTGraphedMagnitude and pass those into the LPF function. I use the FFTGraphedMagnitude values as the input for the LPF function.

 

 

I have also attempted to completely skip this code, and pass in the ComplexDouble data from the FFT directly to the LPF function. It, again, gives me an attenuating sine wave for the .Real values.

 

What am I doing wrong?

 

Sample Rate is 1623.377 Hz, block size is 8192. Passband ripple is 1 db. Filter order is 10.

 

I am trying to LPF (cutoff frequency) at 140 Hz.

 

Here is my original function, a combination of multiple sine waves at frequencies of 180.3752, 162.3377, 147.5797, 124.8751, 108.2251, 90.18759, 81.16883, 70.58159, 60.12506, 50.73052, 40.58442, 30.06253, 20.04169, and 10.02084 Hz.

2017-03-23_12-32-24.png

 

Here's the FFT graph based off of the code that gives me the X and Y values I pasted above:

2017-03-23_12-34-35.png

 

And here is where it always goes sideways, regardless of the input data into the LPF function:

2017-03-23_12-36-08.png

 

I am completely baffled at what to do next, or what to test. Any and all help is greatly appreciated. I am using .NET 4.0 inside of Visual Studio 2013. I have the Professional edition.

 

Thank you,

 

John Lindsay


Viewing all articles
Browse latest Browse all 1999

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>