Padding

Dft
- pandas - numpy - scipy #padded #scaling import numpy as np import re import js import os from math import log import pandas as pd import asyncio from scipy.signal import stft from js import document, FileReader,console from pyodide import create_proxy async def fftjs(event): document.getElementById("test-table").innerHTML="" document.getElementById("test-graph").innerHTML="" target = document.getElementById("input") fl =target.files.to_py() for i in fl: data = str(await i.text()) data=re.sub('\s+', '|', data).split("|") data.pop() fs=int(document.getElementById("fsinput").value) window=document.getElementById("windows").value noverlap=document.getElementById("noverlap").value noverlap=None if noverlap=='' else noverlap padded=document.querySelector('#padded').checked if len(data[0])>7: data2=[] for i in data: if ";" in i: data2.append(i.split(";")) elif "," in i: data2.append(i.split(",")) data2=np.array(data2,dtype="float").T thisdict = {} i=1 for array in data2: str1="Column" str2=str(i) column=str1+str2 thisdict[column]=array i+=1 df = pd.DataFrame(thisdict) pyscript.write("test-table",df.to_html(justify='center')) arrayofdftarrays=[[]] i=0 for data in data2: #Pencere Değeri al input ile arrayofdftarrays.insert(i,list(stft(np.array(data,dtype="float"),fs=fs,window=window,noverlap=noverlap,padded=padded))) i+=1 arrayofdftarrays.pop() else: data=np.array(data,dtype="float") thisdict = {} str1="Column 1" thisdict[str1]=data df = pd.DataFrame(thisdict) pyscript.write("test-table",df.to_html(justify='center')) arrayofdftarrays=[list(stft(np.array(data,dtype="float"),fs=fs,window=window,noverlap=noverlap,padded=padded))] i=0 pisagors=[[]] freqhertzs=[[]] for dftarray in arrayofdftarrays[0][2]: pisagor=[] referance=np.mean(dftarray) for cn in dftarray: f=20*log(abs(cn)/abs(referance)) pisagor.append(f) indexes=list(range(1,len(pisagor)+1)) freq=int(document.getElementById("fsinput").value)/len(indexes) freqhertz=[freq*i for i in indexes] pisagors.insert(i,pisagor) freqhertzs.insert(i,freqhertz) i+=1 js.createObject(create_proxy(pisagors), "pisagors") js.createObject(create_proxy(arrayofdftarrays[0][1]), "f") js.createObject(create_proxy(arrayofdftarrays[0][0]), "t") js.plot() def main(): file_event = create_proxy(fftjs) e = document.getElementById("submit-button") e.addEventListener("click", file_event, False) main()