Вы находитесь на странице: 1из 3

Assignment 1

clc
clear all;
close all;
[inp,f]=audioread('\abc.mp3')
len=length(inp)
i=inp
%i=inp(:,1)
i=i/max(i)
i=i-mean(i)
input=filter((1/2000)*ones(1,2000),1,i)
t=0:1/f:(len-1)/f
one_filter = ones(len/2,1)
total_mask = [one_filter zeros(len/2,1)]
total_mask=reshape(total_mask,[266736,1])
k=500
b=fir1(k,0.0091,bartlett(k+1))
outp=filter(b,1,input).*filter(b,1,input).*filter(b,1,input)
outp = outp.*total_mask
outp=10000*outp;
plot(t,outp)
audiowrite('\out.wav',outp,f)
Assignment 2

clc;
clear all;
close all;
[y, f] = audioread('\Instrument.wav');
N = 1024;
Y = fft(y,N);
F = f/2*linspace(0,1,N/2+1);

figure(1);
subplot(211);
plot(F/f,20*log10(abs(Y(1:N/2+1))));
xlabel('Frequency (Normalised)');
ylabel('Magnitude (dB)');

subplot(212);
plot(F/f,angle(Y(1:N/2+1)));
xlabel('Frequency (Normalised)');
ylabel('Phase (radians)');

b = fir1(1024, 2/5, 'low');

y2 = filter(b, 1, y);
y3 = resample(y2, 1, 5);

Y2 = fft(y3, N);

figure(2)
subplot(211);
plot(F/f,20*log10(abs(Y2(1:N/2+1))));
xlabel('Frequency (Normalised)');
ylabel('Magnitude in dB');

subplot(212);
plot(F/f,angle(Y2(1:N/2+1)));
xlabel('Frequency (Normalised)');
ylabel('Phase in radians');

y4 = resample(y3, 8, 1);

b2 = fir1(1024, 2/8, 'low');

y5 = filter(b2, 1, y4);

Y3 = fft(y5, N);

figure(3)
subplot(211);
plot(F/f,20*log10(abs(Y3(1:N/2+1))));
xlabel('Frequency (Normalised)');
ylabel('Magnitude in dB');
subplot(212);
plot(F/f,angle(Y3(1:N/2+1)));
xlabel('Frequency (Normalised)');
ylabel('Phase (radians)');

audiowrite('\resampled1.wav', y5, f*8/5);

y6 = resample(y, 8, 1);

b3 = fir1(1024, 2/8, 'low');

y7 = filter(b3, 1, y6);

Y4 = fft(y7, N);

figure(4)
subplot(211);
plot(F/f,20*log10(abs(Y4(1:N/2+1))));
xlabel('Frequency (Normalised)');
ylabel('Magnitude (dB)');
subplot(212);
plot(F/f,angle(Y4(1:N/2+1)));
xlabel('Frequency (Normalised)');
ylabel('Phase (radians)');

b4 = fir1(1024, 2/5, 'low');

y8 = filter(b, 1, y7);
y9 = resample(y7, 1, 5);

Y5 = fft(y9, N);

figure(5)
subplot(211);
plot(F/f,20*log10(abs(Y5(1:N/2+1))));
ylabel('Magnitude (dB)');
subplot(212);xlabel('Frequency (Normalised)');

plot(F/f,angle(Y5(1:N/2+1)));
xlabel('Frequency (Normalised)');
ylabel('Phase (radians)');

audiowrite('\resampled2.wav', y9, f*8/5);

Вам также может понравиться