나는 푸리에 변환을 취하고, 그것을 제곱 한 후, 역 푸리에 변환을 취함으로써 그 자체로 직사각형 펄스를 컨벌루션하려고 시도하고있다. conv() 함수가 있다는 것을 알았지 만, 앞으로보다 복잡한 문제를 위해 주파수 도메인에서이를 수행하는 것을 선호합니다. 내 문제는 내가 이것을 할 때 예상대로 삼각형 함수를 생성하지 않는다는 것이다. 제가 사용하는 코드는 아래와 같습니다 :왜 주파수 영역에서 곱셈을 통한 회선이 예기치 않은 결과를 생성합니까? MATLAB?
clc
clear all
x=-5:.01:5;
y=rectangularPulse(x);
Y=fft(y);
H=Y.^2;
h=ifft(H);
plot(x,h)
당신은 아마 그냥은'여기 fftshift' 또는 –
은 MATLAB은 대소 문자를 구분해서, 경우에만 의해 구별 단일 문자 변수를 가지는 것은 좋은 생각이라고이 의미하는 것은 아니다 필요합니다. 나는 yn','Yf','Hf','hn'을 제안 할 것이고 혼란의 여지가 없다. –