Python
-
파이썬의 *args와 **kwargsPython 2020. 1. 21. 16:26
파이썬 코드를 보다보니 함수 인자에 args와 *kwargs가 있는데 잘 몰라서 찾아보았다. 1. *args *args는 함수의 인자로 들어온 내용이 list에 담긴다고 생각하면 된다. def myFun(*args): for arg in args: print(arg) myFun('Hello', 'Welcome', 'to', 'HanSeokhyeon')output: Hello Welcome to HanSeokhyeon남은 인자를 싹 담는다. def myFun(arg1, *args): print("First: {}".format(arg1)) for arg in args: print("Next: {}".format(arg)) myFun('Hell..
-
Python과 Scipy 이용해서 FIR filter 만들기ML/Audio Signal Processing 2020. 1. 21. 16:19
Filtered-X LMS 알고리즘을 검증하는 과정에서 추정한 secondary path 대신 내가 임의로 만든 FIR filter를 넣으려고 한다. 그래서 FIR filter를 구현해야할 필요가 있었고 python과 scipy를 이용해 구현하였다. 사실 코드는 전부 참고하고 스펙만 변경하였다. 1. 함수 선언 from pylab import * import scipy.signal as signal #Plot frequency and phase response def mfreqz(b,a=1): w,h = signal.freqz(b,a) h_dB = 20 * log10 (abs(h)) subplot(211) plot(w/max(w),h_dB) ylim(-150, 5) ylabel('Magnitude..
-
파이썬 librosa 패키지로 스펙트럼 그리기Python/Librosa 2020. 1. 12. 01:00
프로젝트에서 파형의 스펙트럼을 그려서 분석할 일이 있어 코드를 작성해보았다. data load, normalization 내가 사용한 파일이 raw 파일이라 아래와 같은 방식으로 데이터를 읽었다. librosa 패키지는 함수의 입력으로 -1 ~ 1로 노말라이즈된 데이터를 사용하기 때문에 32767로 나누어주었다. data = np.fromfile("ANC_X_8k/boeing_FF.raw", dtype=np.int16) data = data.astype(np.float) / 32767 spectrogram, amplitude, dB librosa.stft()는 data의 스펙트로그램을 리턴한다. 여기서 n_fft로 FFT 사이즈를 설정할 수 있다. 스펙트로그램은 복소수로 리턴되므로 np.abs를 이용해서..
-
파이썬 pow 함수의 3번째 인자Python 2020. 1. 12. 00:57
알고리즘 문제를 풀던중 pow(x, y, z)와 같이 3번째 인자를 사용한 경우가 나와서 찾아보게 되었다. >>> pow(2, 4, 3) 1 >>> pow(2, 4) % 3 1파이썬 pow 함수의 3번째 인자는 모듈러연산이다. 아래 예제를 보면 알 수 있듯이 2의 4승인 16을 3으로 나눈 나머지 1이 출력된다. >>> pow(2, 4) 16 >>> 2 ** 4 16사실 내가 보통 파이썬 코드를 작성중엔 pow 함수보단 ** 연산자를 더 많이 이용한다. 출처: https://m.blog.naver.com/PostView.nhn?blogId=wideeyed&logNo=221137999832&proxyReferer=https%3A%2F%2Fwww.google.com%2F