• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Wow, Flutter, W&F, weighted and unweighted, JIS/DIN/CCIR and NAB. Help me!

SIY

Grand Contributor
Technical Expert
Joined
Apr 6, 2018
Messages
10,511
Likes
25,356
Location
Alfred, NY
Awesome, thanks! Where do I find the DDPs for RMS drift, wow, and flutter?

They're in the dropdown menu.

1609705113552.png
 

JP

Major Contributor
Joined
Jul 4, 2018
Messages
2,296
Likes
2,476
Location
Brookfield, CT
Not in mine. Let me make sure I'm on the latest 3.9.whatever.

Screen Shot 2021-01-03 at 3.44.03 PM.png
 

JP

Major Contributor
Joined
Jul 4, 2018
Messages
2,296
Likes
2,476
Location
Brookfield, CT
Yup. 3.9.1 -> 3.9.3 fixed that.
 
  • Like
Reactions: SIY

JP

Major Contributor
Joined
Jul 4, 2018
Messages
2,296
Likes
2,476
Location
Brookfield, CT
Now I have a new way to obsess :)



Screen Shot 2021-01-03 at 5.28.24 PM.png
 

JP

Major Contributor
Joined
Jul 4, 2018
Messages
2,296
Likes
2,476
Location
Brookfield, CT
These polar plots represent 1.8s/rev, 2 revs. I did polar plots at several points along the capture and they all look pretty much the same, so I don't think there is any meaningful variability in what's being sampled. Below each polar is the corresponding numbers from MI. The plot where there's something clearly wrong with the motor gets a much better overall number.

DK2421D025-FG.png


Screen Shot 2021-01-03 at 6.02.50 PM.png


FGwoLP.png


Screen Shot 2021-01-03 at 5.49.59 PM.png
 

Balle Clorin

Major Contributor
Joined
Dec 26, 2017
Messages
1,350
Likes
1,223
A Python script reading a 4 sec .wav file. The Anaconda Python install runs it turnkey, some Python distributions require the advanced math libs to be hand installed. The script is posted a few posts above.
Thanks , but this is all Greek to me. Installed Anaconda and Python, but then I am lost
 

Balle Clorin

Major Contributor
Joined
Dec 26, 2017
Messages
1,350
Likes
1,223
This is how the "Reference files" from post 1. 0.1% DIN wow flutter looks like when analysed main component at 4vhz and a lot of hash above .
First the 3150Hz tone, then demodulated in Audacity and Rightmark to see the speed fluctuations
speedsteb.JPG


speedvar.JPG



And then analysed in WFGUI Wow&flutter free software
wf.JPG
 
Last edited:

VIRTINS

Member
Industry Insider
Joined
Jan 28, 2019
Messages
8
Likes
27
3150HzModulatedBy4HzAt0.00997Percent0.315Hz.wav

The above one is generated using a carrier frequency 3150 Hz, a modulating frequency 4 Hz, and a max. frequency deviation 0.315 Hz. Its unweighted and weighted peak wow & flutter values are thus: 0.315 / 3150 × sin(0.95×90°) = 0.00997%. Its unweighted and weighted RMS wow & flutter values are thus: 0.315 / 3150 × 0.707 = 0.00707%. It was generated using the signal generator of Multi-Instrument as follows. Calibration files with other wow and flutter values can be generated in a similar way.

WowAndFlutterTestSignalGeneration.png
 

edwyun

New Member
Joined
Feb 21, 2021
Messages
2
Likes
0
3150HzModulatedBy4HzAt0.00997Percent0.315Hz.wav

The above one is generated using a carrier frequency 3150 Hz, a modulating frequency 4 Hz, and a max. frequency deviation 0.315 Hz. Its unweighted and weighted peak wow & flutter values are thus: 0.315 / 3150 × sin(0.95×90°) = 0.00997%. Its unweighted and weighted RMS wow & flutter values are thus: 0.315 / 3150 × 0.707 = 0.00707%. It was generated using the signal generator of Multi-Instrument as follows. Calibration files with other wow and flutter values can be generated in a similar way.

Wow, thank you for this. I was able to create the other calibration wav files. Excellent software tool.
 

Thomas_A

Major Contributor
Forum Donor
Joined
Jun 20, 2019
Messages
3,469
Likes
2,467
Location
Sweden
Yes, a good TT does not deviate much so it's usually a nice circle. You're welcome to it, JPJ changed the cosmetics at little. You would have to change a few things for large deviations if the distortion gets too great. I also added a text tag for mean speed, don't know if that helps here because the mean is computed over one LP rev. Not sure what OS you use, a free Python distribution like Anaconda has all the libraries you need pre-installed.

Just when I managed to fix the frequency response script I tried the polar plot, but got this error (MacOS, IDLE). Have no clue what the error is.

============ RESTART: /Users/Thomas/Documents/polar plots/Polar plot script.py ============
Tacet.wav
Traceback (most recent call last):
File "/Users/Thomas/Documents/polar plots/Polar plot script.py", line 34, in <module>
y = read(HOME + _FILE)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/scipy/io/wavfile.py", line 647, in read
fid = open(filename, 'rb')
IsADirectoryError: [Errno 21] Is a directory: '/Users/Thomas/Documents/polar plots/'
 

JP

Major Contributor
Joined
Jul 4, 2018
Messages
2,296
Likes
2,476
Location
Brookfield, CT
Just when I managed to fix the frequency response script I tried the polar plot, but got this error (MacOS, IDLE). Have no clue what the error is.

============ RESTART: /Users/Thomas/Documents/polar plots/Polar plot script.py ============
Tacet.wav
Traceback (most recent call last):
File "/Users/Thomas/Documents/polar plots/Polar plot script.py", line 34, in <module>
y = read(HOME + _FILE)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/scipy/io/wavfile.py", line 647, in read
fid = open(filename, 'rb')
IsADirectoryError: [Errno 21] Is a directory: '/Users/Thomas/Documents/polar plots/'

Not sure what you've entered but it's trying to open a directory as if it were a file.

This one is setup such that it requires HOME and _FILE:

Code:
#edit here to add a HOME directory, etc.
HOME = '/Users/jjones/Documents/polar/'

_FILE = 'FM_WF_SONY.wav'

The IDLE shell retains the environment from the run, so you can interact with it to see what went wrong. In this case we can print the variable to screen and see if it makes sense. Using the config above:

Code:
print(HOME + _FILE)
                        
/Users/jjones/Documents/polar/FM_WF_SONY.wav
 

Thomas_A

Major Contributor
Forum Donor
Joined
Jun 20, 2019
Messages
3,469
Likes
2,467
Location
Sweden
Not sure what you've entered but it's trying to open a directory as if it were a file.

This one is setup such that it requires HOME and _FILE:

Code:
#edit here to add a HOME directory, etc.
HOME = '/Users/jjones/Documents/polar/'

_FILE = 'FM_WF_SONY.wav'

The IDLE shell retains the environment from the run, so you can interact with it to see what went wrong. In this case we can print the variable to screen and see if it makes sense. Using the config above:

Code:
print(HOME + _FILE)
                       
/Users/jjones/Documents/polar/FM_WF_SONY.wav
Thanks,

I changed the row "_File = input("Tacet.wav")" to "_File = 'Tacet.wav". Still get errors but now also a figure output.

Polar_Tacet.png
 

JP

Major Contributor
Joined
Jul 4, 2018
Messages
2,296
Likes
2,476
Location
Brookfield, CT
You’ve a really old version. There is a method that is deprecated that I need to fix - it throws a warning about that.
 

Thomas_A

Major Contributor
Forum Donor
Joined
Jun 20, 2019
Messages
3,469
Likes
2,467
Location
Sweden
You’ve a really old version. There is a method that is deprecated that I need to fix - it throws a warning about that.
Thanks, I guess there is new version somewhere, but not easy to spot which post it is.
 

Thomas_A

Major Contributor
Forum Donor
Joined
Jun 20, 2019
Messages
3,469
Likes
2,467
Location
Sweden
I found version 5C, script looks a bit different. It works.

1 kHz CA-TRS1007.png
 

JP

Major Contributor
Joined
Jul 4, 2018
Messages
2,296
Likes
2,476
Location
Brookfield, CT
Weird that the text is overlapping I’ll need to check that. If you do 1k you can change scale to 1Hz/div so the magnitude is the same.
 

Thomas_A

Major Contributor
Forum Donor
Joined
Jun 20, 2019
Messages
3,469
Likes
2,467
Location
Sweden
Weird that the text is overlapping I’ll need to check that. If you do 1k you can change scale to 1Hz/div so the magnitude is the same.
I think the overlap is because I shrink the window and save.

Q: Is it possible to use integer/rounding for this line to make the scale easier?

myticks.append('{:4.2f}Hz'.format(int(maxf)-(19*Hz_per_tick)+x*Hz_per_tick))

test.png
 
Top Bottom