Пример #1
0
    def plot(self):
        ''' function to plot the level over time '''
        data = self.audiobuffer.newdata()

        r_m_s = dB(rms(data))

        self.stream_data[0:-1] = self.stream_data[1:]
        self.stream_data[-1] = r_m_s

        self.PlotSpek.read_array(self.stream_data)
Пример #2
0
    def plot(self):
        ''' function for Plotting each channel gain as a bar plot'''

        data = self.audiobuffer.newdata()
        nchannel, _ = data.shape

        channel_dB = np.zeros((nchannel), float)
        #index = np.arange(nchannel)
        for i in range(nchannel):
            channel_dB[i] = dB(rms(data[i, :]))

        nchannel = np.arange(nchannel)

        self.PlotChannel.readArray(channel_dB, nchannel)
    def plot(self, weight):
        data = self.audiobuffer.newdata()
        ''' function to obtain and plot the third octave level '''
        self.weight = weight
        self.block = array(data, dtype=float64)
        self.thirdpow = []

        if self.weight == 1:
            self.frequenzbewertung = self.frequenzbewertung_a
        elif self.weight == 2:
            self.frequenzbewertung = self.frequenzbewertung_c
        else:
            self.frequenzbewertung = [0.0] * len(self.fc)

        # obtainment of the third octave levels
        for freq in range(len(self.fc)):
            freqpow = (dB(rms(lfilter(self.b[freq], self.a[freq],
                                     self.block[:])[0])) +
                                     self.frequenzbewertung[freq])
            self.thirdpow.append(freqpow)

        self.PlotSpektro.readArray(self.thirdpow)
    def plot(self, weight):
        data = self.audiobuffer.newdata()
        ''' function to obtain and plot the third octave level '''
        self.weight = weight
        self.block = array(data, dtype=float64)
        self.thirdpow = []

        if self.weight == 1:
            self.frequenzbewertung = self.frequenzbewertung_a
        elif self.weight == 2:
            self.frequenzbewertung = self.frequenzbewertung_c
        else:
            self.frequenzbewertung = [0.0] * len(self.fc)

        # obtainment of the third octave levels
        for freq in range(len(self.fc)):
            freqpow = (dB(
                rms(lfilter(self.b[freq], self.a[freq], self.block[:])[0])) +
                       self.frequenzbewertung[freq])
            self.thirdpow.append(freqpow)

        self.PlotSpektro.readArray(self.thirdpow)
Пример #5
0
plt.figure()

#fs, fftlines, overlap=overlap, win='hann', averaging='exp',nAverage=10
sp = spectral(fs, fs*5, overlap=0.75, win='hanning', averaging='overall',nAverage=10,winParam={"sym":False},detrend='constant')
w1 = sp.w

sp.add(y)
Y, f = sp.get()

plt.semilogy(f,Y)
plt.xlabel('f(Hz)')

sp = spectral(fs, fs*5, overlap=0.75, win='general_cosine', averaging='overall',nAverage=10,winParam={"sym":False,"a":[1, 1.942604, 1.340318, 0.440811, 0.043097]},detrend='constant')
w2 = sp.w
sp.add(y)
Y, f = sp.get()
plt.semilogy(f,Y)
plt.legend()

plt.figure()
plt.plot(w1,lw=0.5)
plt.plot(w2)

print("temporal rms",calc.rms(y))
ecf = sp.getECF()
print("spectral rms",sum((Y*ecf)**2*1/2)**(1/2))
print("NENBW", sp.getNENBW())
print("ECF", ecf)
print("ACF", sp.getACF())
sp.listWindows()