Как ограничить количество коэффициентов для использования при восстановлении одномерного сигнала с использованием вейвлет-разложения в Python

Я новичок в области использования вейвлет-разложения. И я пытаюсь разложить и реконструировать (с очень небольшим количеством коэффициентов) одномерные данные в Python (используя pywt). Из этой документации я написал код ниже, который восстанавливает данные с 512 коэффициентами (т.е. размер cA или же cD) но я думаю, что они должны быть способом выбора (ограничения) количества коэффициентов, которые я считаю для получения разумной реконструкции данных.

%matplotlib inline
import pylab as plt
import pywt

# Data
data = ll[5].x0

n = len(data)

w = 'db1'

(cA, cD) = pywt.dwt(data, w, 'sp1')  # Decomposition 

# Perfect Reconstruction of data
perfect_reconstruction = pywt.upcoef('a',cA[:],w,take=n) + pywt.upcoef('d',cD[:],w,take=n)
reconstructed = pywt.upcoef('a',cA[:],w,take=n) # Approximate Reconstruction of data

x = np.arange(1.008,1.008+1024*0.001,0.001)

plt.figure(figsize=(20,8))
plt.subplot2grid((2,1),(0,0)) 
plt.title('Perfect Reconstruction of data - %s  with rms error of 1.39 x e$^{-15}$'%w, fontsize=20)
plt.plot(x,data,'-',label='Data')

plt.plot(x,perfect_reconstruction,'-r',label='Reconstructed data')
plt.legend(loc='best',fontsize='x-large')
plt.xticks(fontsize = 14)
plt.yticks(fontsize = 14)

plt.subplot2grid((2,1),(1,0))
plt.title('Approximate Reconstruction of data - %s with rms error of 1.30 x e$^{-3}$'%w, fontsize=20)
plt.plot(x,data,'-',label='Data')

plt.plot(x,reconstructed,'-r',label='Reconstructed data')
plt.legend(loc='best',fontsize='x-large')
plt.xticks(fontsize = 14)
plt.yticks(fontsize = 14)
plt.show()

Рисунок 1 Пожалуйста, если кто-нибудь может помочь мне с любыми предложениями о том, что я могу сделать, чтобы добиться правильной декомпозиции и реконструкции с меньшим количеством коэффициентов, я буду очень признателен за это и любую информацию о том, как написать математику за этим, потому что моя цель - найти математическое выражение это лучше всего описывает данные с меньшим количеством коэффициентов после разложения.

0 ответов

Другие вопросы по тегам