This repository has been archived on 2023-12-21. You can view files and clone it, but cannot push or open issues or pull requests.
Files
ece45-project/src/NotWorking/Daniel_Doan_convolution.m
2021-12-10 10:01:30 +08:00

17 lines
508 B
Matlab

function x = Daniel_Doan_convolution(f,h)
%input: two 1d arrays representing two sound signals in the time domain
%output: the convolution of the two waves, which is the inverse FT of
%FT(f)*FT(h)
%author: Daniel Doan
%padding to ensure the entire convolution is calculated
pad = length(f) + length(h) - 1;
%take FT of f
F = fft(f, pad);
%take FT of h
H = fft(h, pad);
%multiply the two FTs
X = F .* H;
%take inverse FT of the product
x = ifft(X);
end