How to plot impulse response?

6 次查看(过去 30 天)
Hey everyone,
I created signal
[y, fs] = audioread('Voice1.wav');
t=(0:length(y)-1)/fs;
here is the form that impulse response should containt. But instead of [0...0] there shoud be 1x1350 array of zeros and instead of [1...1] should be 1x1350 array of ones.
I need to use convolution to get this form (function conv)
As for now I have managed to write this script:
A = zeros(1,1350); % made 1x1350 array from zeros
B = ones(1,1350); % made 1x1350 array from ones
h=[A B A]; % replaced values from formula
X=conv(y,h); % used this command to make convolution
and now I need to plot this changed function.
[y, fs] = audioread('Voice1.wav');
t=(0:length(y)-1)/fs;
A = zeros(1,1350);
B = ones(1,1350);
h=[A B A];
X=conv(y,h);
plot(t,X)
But when plotting I get error Vectors must be the same length
So the question would be, how to properly write script to plot this function?
P.S. Sorry if the task isn't clear, its hard for me to explain :D

采纳的回答

Mehmed Saad
Mehmed Saad 2020-3-31
X=conv(y,h,'same');

更多回答(0 个)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by