matplolib/신호및시스템9 DTFT예시코드 분석(2) 주파수 변화에 따른 선도(plot) 변화 [사전지식] DTFT는 주어진 이산시간 신호를 주파수 영역에서 연속적인 스펙트럼으로 변환한다. 변환된 주파수 영역에서는 신호의 주파수 성분이 표현되며, 이를 통해 신호의 주파수 특성과 주파수 성분의 세기 및 위상 정보를 추출할 수 있다. Def.) X(e^jw) = Sigma(from n=-infinity to n=+infinity) [ x[n] * e^(-jwn) ] X(e^jw): DTFT의 결과인 주파수 도메인 복소 스펙트럼 x[n]: 이산 시간 신호를 나타내는 시퀀스 e^(-jwn): 각각의 주파수 성분을 표현하는 복소지수함수 -변환은 변수 w에 대해 연속적으로 수행되며, 일반적으로 [-np.pi, +np.pi] 또는 [0, 2*np.pi] 범위에서 주파수를 표현한다. [실험내용] -numpy와 .. matplolib/신호및시스템 2023. 5. 27. DTFT예시코드 분석(1) 샘플링주파수 변화에 따른 선도(plot) 변화 [실험내용] -'np.arange'를 사용하여 0부터 1까지의 시간 벡터를 생성하고, 주파수가 10Hz인 사인파를 생성한다. -'np.fft.fft'를 사용하여 신호의 DTFT를 계산하고, 'np.fft.fftfreq'를 사용하여 주파수 축을 생성한다. -신호의 주파수는 10으로 고정하고, 샘플링주파수를 10으로 두어, 샘플간격을 0.1로 맞춘다. -'plt.plot'를 사용하여 DTFT 스펙트럼을 선도(plot)한다. import numpy as np import matplotlib.pyplot as plt #폰트 꺠짐 방지 plt.rcParams['font.family'] = 'Malgun Gothic' #특수문자(-) 깨짐 방지 plt.rcParams['axes.unicode_minus'] = Fa.. matplolib/신호및시스템 2023. 5. 27. 푸리에 변환에 대해 알아보자! 푸리에 변환이란? 푸리에 변환(Fourier Transform)은 시간영역에서 정의된 신호를 주파수 영역으로 변환하는 수학적인 변환기법입니다. 신호를 주파수 성분으로 분해하여, 주파수 대역별로 신호의 강도(진폭)와 위상정보를 얻을 수 있습니다. 이는 다양한 분야에서 신호 처리, 영상 처리, 통신, 음성 처리, 음악, 신호 분석등의 분야에서 널리 사용되고 있습니다. 푸리에 변환(줄여서 F.T)은 주파수 도메인에서 신호의 주파수 성분들을 분석하기 위해 사용됩니다. 주파수 도메인에서는 원래 신호를 구성하는 주파수 성분들의 진폭과 위상 정보를 알 수 있어, 신호의 주파수 특성을 자세히 분석할 수 있습니다. 이를 통해 다양한 신호 처리 작업을 수행할 수 있죠. 예를 들어보도록 하겠습니다. 푸리에 변환을 이용하여 .. matplolib/신호및시스템 2023. 4. 12. ReLU함수에 대해 알아보자! 이전 시간에 계단함수의 태생적인 문제점인, 미분이 불가능하다는 성질로 인해, 이를 대체할 함수를 두가지 설명했는데요! 바로, sigmoid함수와 ReLU함수입니다. 이번시간에는 ReLU함수에 대해 알아보도록 하겠습니다. 소스코드> import numpy as np import matplotlib.pyplot as plt def ReLU(x): return np.maximum(0,x) x = np.linspace(-10, 10, 1000) y = ReLU(x) plt.plot(x, y) plt.title('ReLU function') plt.xlabel('x') plt.ylabel('y') plt.show() 위 코드를 실행했을때, -10부터 10까지의 범위에서 1000개의 점으 생성하고, 이점에 대해 R.. matplolib/신호및시스템 2023. 3. 24. sigmoid(시그모이드)함수에 대해 알아보자! 이전 시간에 단위계단함수를 정리해보았는데요! 한번 더 복습을 하자면, 이 함수는 입력신호 0을 기준으로 출력신호 0또는1로 분류하는 함수로서, 입력값이 특정값 이상인 경우 1을 출력하고, 그렇지 않은 경우, 0을 출력합니다. 하지만 이 계단함수는 신호해석에만 조금 사용되지 머신러닝 분야에서는 거의 쓰이지 않는데요, 머신러닝에서 미분이 중요하게 다뤄지는데, 이 계단함수를 연속적인 함수가 아니기 때문에, 태생적으로 미분이 불가능하기 때문이죠. 그러나! 계단함수와 유사한 함수들이 존재하는데요, 대표적으로 sigmoid함수와 ReLU함수입니다. 이 함수들은 계단함수와같이 입력을 기준으로 출력을 분류하는 특성을 가지고 있으면서도, 미분이 가능한 함수들이기 때문에, 머신러닝에서 널리 쓰이는 함수들입니다. 그래서 이.. matplolib/신호및시스템 2023. 3. 24. 단위계단함수에 대해 알아보자! 단위계단함수란? 단위계단함수는 계단함수의 일종으로, 0보다 작은 값에 대해서는, 0을, 0보다 큰 값에 대해서는 1을 출력하는 함수입니다. 아래는 파이썬 코드로 단위계단함수를 구현한 예시입니다. 아래 코드에서는 'numpy'와 'matplotlib' 라이브러리를 사용하였습니다. 'numpy'는 수학적 계산을 위해, 'matplotlib'는 수학계산을 토대로 그래프를 그리기 위해 사용됩니다. 소스코드> import numpy as np import matplotlib.pyplot as plt def unit_step_function(x): return np.where(x>0, 1, 0) x = np.linspace(-5.0, 5.0, 1000) y = unit_step_function(x) plt.plot.. matplolib/신호및시스템 2023. 3. 24. 사각펄스 함수[rect()]에 대해 알아보자!(2) 지난시간에는 사각펄스 함수에서 상승구간과 하강구간의 너비를 변경해보는 시간을 가졌었습니다. 이번시간에는 지난시간에 이어서 진폭을 높이는 코드를 작성해보았습니다. 파이썬코드> import numpy as np import matplotlib.pyplot as plt from pylab import subplot #define the function def x(t,m): #return t * np.where(np.abs(t) < np.pi, 1, 0) return np.where(np.abs(t) < 1, m, 0) #create the time vector t = np.linspace(-20, 20, 100) plt.figure(figsize=(15, 5)) denomi= [1,2,4,8] #denomin.. matplolib/신호및시스템 2023. 3. 22. 사각펄스 함수[rect()]에 대해 알아보자!(1) 사각펄스란? 사각펄스는 크기와 폭이 1이고 사각형 모양의 펄스이며, 소위 구형파라고도 하는데요, 사각파는 기본적으로 아래와 같이 계단함수의 조합으로 나타낼 수 있습니다. 아래코드는 rect()함수의 변수 아래에 분모값이 1,2,4,8 순서로 커질때 화면에 어떻게 출력되는지를 확인할 수 있는 코드입니다. 파이썬코드> import numpy as np import matplotlib.pyplot as plt from pylab import subplot #define the function def x(t,m): #return t * np.where(np.abs(t) < np.pi, 1, 0) return np.where(np.abs(t/m) < 1, 1, 0) #create the time vector t .. matplolib/신호및시스템 2023. 3. 22. 구형파의 분석 및 합성 [신호 및 시스템]이라는 과목을 공부하는 도중에 푸리에 급수에 대해서 찾아보다가 어떤 교수님께서, 푸리에 급수에 대한 신호함수를 파이썬 스크립트로 구현한 부분이 있어 매우 흥미로워 가져와 보았습니다. ※다음은 주기가 1이고, 듀티사이클이 0.5인 구형파의 푸리에 급수 분석과 합성을 실행하는 파이썬 스크립트이다. import numpy as np import matplotlib.pyplot as plt SMALL = 1.e-5 dt = 1/1000. t = np.arange(0,1.,dt) T0 = 1. f0 = 1/T0 w0 = 2*np.pi * f0 xt = 1. * (t < 0.5) Nmax = 31 #Maximum number of harmonics # Calculation of harmonics .. matplolib/신호및시스템 2023. 3. 21. 이전 1 다음