08-27-2018 10:46 AM
I've made the attached VI in order to read saved variables from a file, however each time I run it with the same file and the same number of samples, the PSD plot differs. It changes in a predictable manner, i.e. the first run on a file after opening the VI will always yield the same result, the second run will also yield the same result, but different from the first run, etc., so there's no random thing about it. As far as I could gather, it's because of the PSD's history retaining, however I have it set to no averaging and linking true to restart averaging doesn't help. Any ideas?
Solved! Go to Solution.
08-27-2018 01:28 PM
Hi danthonius,
1. clean up your VI
2. replace feedback nodes by shift registers (for better understanding of DATAFLOW!)
3. initialize the shift registers…
(4. Remove the RubeGoldberg stuff.)
See here:
The InsertIntoArray still looks fishy to me…
08-27-2018 02:13 PM
There is an IIR Filter inside the PSD with an initial value of 0. Wrap a for loop around PSD with N= 1 or 2 selected from "First call"
08-27-2018 03:54 PM - edited 08-27-2018 03:55 PM
@JÞB wrote:
There is an IIR Filter inside the PSD with an initial value of 0. Wrap a for loop around PSD with N= 1 or 2 selected from "First call"
Thank you, but I may have not implemented what you said properly, as it didn't seem to work for me. GerdW's solution worked, so I went with that.
08-27-2018 03:56 PM - edited 08-27-2018 03:56 PM
@GerdW wrote:
Hi danthonius,
1. clean up your VI
2. replace feedback nodes by shift registers (for better understanding of DATAFLOW!)
3. initialize the shift registers…
(4. Remove the RubeGoldberg stuff.)
See here:
The InsertIntoArray still looks fishy to me…
Thank you! That worked. Still don't have any idea why it happened, though.
08-27-2018 09:31 PM
@danthonius wrote:
@GerdW wrote:
Hi danthonius,
1. clean up your VI
2. replace feedback nodes by shift registers (for better understanding of DATAFLOW!)
3. initialize the shift registers…
(4. Remove the RubeGoldberg stuff.)
See here:
The InsertIntoArray still looks fishy to me…
Thank you! That worked. Still don't have any idea why it happened, though.
The first "I" in IIR is infinate.
Infinate Impulse Response. IIR filters assume an original magnitude. In this case, 0,0i. Not great if you jam from IQ to polar coordinates. Where, often theta might vary but, rho equals 1. There is a filter induced artifact because of the incorrectly assumed initial value
LabVIEW is not only language that makes this assumption. The assumption is correct, your use case fails an axiomatic tautology.
You're using the vi with invalid assumptions.