>  기사  >  컴퓨터 튜토리얼  >  Matlab을 사용하여 푸리에 변환을 수행하는 것은 어떻습니까?

Matlab을 사용하여 푸리에 변환을 수행하는 것은 어떻습니까?

WBOY
WBOY앞으로
2024-01-18 08:00:181506검색

Matlab을 사용하여 푸리에 변환을 수행하는 것은 어떻습니까?

matlab을 사용하여 푸리에 변환을 수행하는 방법

먼저 프로그램을 작성하세요:

clc

클리어

CU=[]; %%여기로 데이터를 가져오세요

CU_f=fft(CU); %%는 FFT를 주파수 영역으로 변환합니다

그림(1)

하위 플롯(2,1,1)

플롯(CU);

하위 플롯(2,1,2)

플롯(abs(CU_f))

********************************

CU_f는 스펙트로그램이지만 말씀하신 50Hz에 해당하는 지점은 실험 과정을 통해 찾아야 합니다. MATLAB에 입력되는 데이터는 단지 수천 개의 포인트일 뿐이며 수학적 의미만 있고 물리적 의미는 없습니다. 우선, 수천 개의 포인트를 샘플링했는데, 샘플링 빈도는 얼마나 됩니까? 이는 실험을 수행하는 사람만이 알 수 있으며 MATLAB 자체는 알 수 없습니다. 샘플링 주파수가 Fs라고 가정합니다. 그러면 그림 CU_f에서 마지막 지점에 해당하는 실제 주파수는 Fs(첫 번째 지점에 해당하는 실제 주파수는 0Hz)이다. 그러면 선형비례관계를 바탕으로 50Hz에 해당하는 지점을 찾으면 됩니다.

MATLAB을 사용하여 푸리에 변환을 구현하는 방법

MATLAB을 사용하여 푸리에 변환 구현:

사용자가 임의로 함수를 입력한 후 해당 함수의 푸리에 변환 함수를 출력한 후 진폭 주파수를 출력합니다.

x=sin(2*pi*t); %함수를 입력하세요.

y=fft(x); %푸리에 변환 함수.

plot(abs(y)); % 진폭 주파수.

함수는 각 입력 값과 고유한 출력 값 간의 대응을 나타냅니다. 이 관계로 인해 한 세트의 각 요소는 다른(아마도 동일한) 세트의 고유 요소에 해당됩니다. 함수 f의 입력값에 해당하는 출력값 x의 표준 기호는 f(x)입니다. 함수의 입력값을 모두 포함하는 집합을 함수의 정의역(domain)이라 하고, 출력값을 모두 포함하는 집합을 범위(range)라고 합니다. 매핑의 개념을 먼저 정의하면 간단히 함수를 다음과 같이 정의할 수 있습니다. 비어 있지 않은 숫자 집합 사이에 정의된 매핑을 함수라고 합니다.

푸리에 변환은 특정 조건을 충족하는 함수를 삼각 함수(사인 및/또는 코사인 함수) 또는 그 적분의 선형 조합으로 표현할 수 있습니다. 연속 푸리에 변환 및 이산 푸리에 변환과 같은 다양한 연구 분야에서 푸리에 변환의 다양한 변형이 있습니다.

matlab을 사용하여 푸리에 변환 속성을 확인하는 프로그램을 작성하는 방법

% 포인트 주시는 것도 잊지 마세요, [큰웃음]

모두 지우기

ts=0.001; % 샘플링 기간

t=0:ts:20; % 시간 순서

y=sin(t)+0.5*sin(2*t)+0.2*sin(6*t);

그림

플롯(t,y)

title('오리지널 싱갈')

xlabel('시간(초)')

ylabel('크기')

Fs=1/ts % 샘플링 주파수

L=길이(y);

NFFT = 2^nextpow2(L) % y의 길이에서 2의 거듭제곱

Y = fft(y,NFFT)/L;

f = Fs/2*linspace(0,1,NFFT/2+1);

% 단면 진폭 스펙트럼을 플롯합니다.

그림

플롯(f,2*abs(Y(1:NFFT/2+1)))

title('y(t)의 단면 진폭 스펙트럼')

xlim([0,3])

xlabel('주파수(Hz)')

ylabel('|Y(f)|')

위 내용은 Matlab을 사용하여 푸리에 변환을 수행하는 것은 어떻습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 docexcel.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제