Till KTH:s startsida Till KTH:s startsida

Hjälp!

Här kan man posta frågor om man behöver hjälp med sådant som rör kursen: labbar, matlab-programmering eller räkneuppgifter etc. Kursens lärare svarar så fort de kan.

Jonas Beskow skapade sidan 3 november 2016

kommenterade 7 november 2016

Hej Jonas,

Första laborationen, vi har fastnat på delen där man ska plotta impulssvaret från filtret. Vårt resultat sen ger att frekvenssvaret är rätt men impulssvaret är fel. Och vi misstänker att det är förstärkningsfaktorn som är fel. Kan vi få lite vägledning i hur vi lösa detta?

Lärare kommenterade 8 november 2016

Hej! 

figuren med impulssvaret var felaktig i labpeket, det finns nu ett uppdaterat pek (2016), kolla där och se om figuren stämmer bättre.

mvh

Jonas

En användare har tagit bort sin kommentar
kommenterade 13 november 2016

Hej, finns det något facit till matlab-övningsuppgifterna? Jag har fastnat helt på "Faltnings"-delen. Hur ska man lösa dem? :)

Assistent kommenterade 15 november 2016

Hi

With the simple code provided in the example of convolution in page 32 you could write something like that:

X = [zeros(1,3) ones(1,3) zeros(1,3)];

kernel=[1 1 1]./3;

for i=3:length(X)
     Y(i)=sum(X(i-2:i).*kernel);
end

However note that this is not completely correct, because we miss the last two points of the convolution sum. Compare the result of the above code with y=conv(X,kernel). You will see that conv(X,kernel) gives the same 9 points as calculated by the code above PLUS two more points (that are zero). That is the correct result.

The reason we can't get that with the above code is because the way the code is structured the index would have to get out of bounds to evaluate the convolution sum at the last two points, since X has no value on n=10 and n=11 . A way to go around that would be to add two more zeros to X (implying that since X has no values there we could say it's zero at n=10 and n=11). If you try the above code with X=[X 0 0] (so the X becomes the initial X with two extra zeros) you will see you will get the same result as y=conv(X,kernel) gave you (when using conv with the original X without the extra zeros).

Hope this helps, if you have more questions do ask.

En användare har tagit bort sin kommentar