Extracts data from all curves from each SignalObj. Parameter (default), (type): ----------------------------- * sigObjs (), (list): a list with SignalObjs for curve data extraction Return (type): -------------- * curveData (), (list):
(sigObjs)
| 901 | |
| 902 | |
| 903 | def _curve_data_extractor_spectrogram(sigObjs): |
| 904 | """ |
| 905 | Extracts data from all curves from each SignalObj. |
| 906 | |
| 907 | Parameter (default), (type): |
| 908 | ----------------------------- |
| 909 | |
| 910 | * sigObjs (), (list): |
| 911 | a list with SignalObjs for curve data extraction |
| 912 | |
| 913 | Return (type): |
| 914 | -------------- |
| 915 | |
| 916 | * curveData (), (list): |
| 917 | a list with dictionaries containing the information about |
| 918 | each plot. Needed keys for spectrogram plot: |
| 919 | |
| 920 | - 'timeVector', (), (ndarray): time axis; |
| 921 | - 'timeSignal', (), (ndarray): signal in time domain; |
| 922 | - 'samplingRate', (), (int): signal sampling rate; |
| 923 | - 'label', (), (str): curve label; |
| 924 | - 'dBRef', (), (float): decibel scale reference; |
| 925 | - 'minFreq', (), (float): SignalObj's minimum analysed frequency |
| 926 | - 'maxFreq', (), (float): SignalObj's maximum analysed frequency |
| 927 | |
| 928 | >>> curveData = [{'timeVector':timeVector, 'timeSignal':timeSignal, |
| 929 | 'samplingRate':samplingRate', label':'my plotz', |
| 930 | 'dBRef':2e-5, 'minFreq':20, 'maxFreq':20000}] |
| 931 | """ |
| 932 | curveData = [] |
| 933 | for sigObj in sigObjs: |
| 934 | minFreq = sigObj.freqMin |
| 935 | maxFreq = sigObj.freqMax |
| 936 | timeVector = sigObj.timeVector |
| 937 | samplingRate = sigObj.samplingRate |
| 938 | |
| 939 | for chIndex in range(sigObj.numChannels): |
| 940 | chNum = sigObj.channels.mapping[chIndex] |
| 941 | unitData = '[{} ref.: {} {}]'.format(sigObj.channels[chNum].dBName, |
| 942 | sigObj.channels[chNum].dBRef, |
| 943 | sigObj.channels[chNum].unit) |
| 944 | label = '{} {}'.format(sigObj.channels[chNum].name, unitData) |
| 945 | timeSignal = sigObj.timeSignal[:, chIndex] |
| 946 | dBRef = sigObj.channels[chNum].dBRef |
| 947 | curveData.append({ |
| 948 | 'timeVector':timeVector, |
| 949 | 'timeSignal':timeSignal, |
| 950 | 'samplingRate':samplingRate, |
| 951 | 'label':label, |
| 952 | 'dBRef':dBRef, |
| 953 | 'minFreq':minFreq, |
| 954 | 'maxFreq':maxFreq |
| 955 | }) |
| 956 | return curveData |
| 957 | |
| 958 | |
| 959 | def _calc_spectrogram(timeSignal, timeVector, samplingRate, overlap, winType, |