Add Lab work No1

This commit is contained in:
Imants Pulkstenis
2020-03-24 20:23:39 +02:00
parent 8ee46486e8
commit 27e63599f4
4 changed files with 89 additions and 9 deletions
+3 -3
View File
@@ -1,6 +1,6 @@
function Kcmp = kcmpnd(Ain,Str)
% Kompresora pastiprinajuma koeficients
Kcmp = zeros (size(Ain));
Kcmp(Ain>0)=log10(Str*Ain(Ain>0)+1)./...
Kcmp=zeros(size(Ain));
Kcmp(Ain>0)=log10(Str*Ain(Ain>0)+1)./ ...
Ain(Ain>0)/log10(Str+1);
Kcmp(Ain<=0)=Str/log(Str+1);
Kcmp(Ain<=0) = Str/log(Str+1);
+6
View File
@@ -0,0 +1,6 @@
function Kexp = kexpnd(Arin,Str)
% Kompresora pastiprinajuma koeficients
Kexp=zeros(size(Arin));
% Kexp=((Str + 1).^Arin - 1)./Str;
% Kexp = (exp(Arin.*log(Str+1)) - 1 ) ./ Str;
Kexp = ((Str + 1).^Arin - 1)./(Arin.*Str);
+80 -6
View File
@@ -1,11 +1,85 @@
%% % Runas signala komplresors analogajam signalam
%% Funkcionalo un logisko shemu modelesana
% Laboratorijas darbs Nr.1.
% Runas signala kompresijas sistama
% Autors: Imants Pulkstenis
%
figure (1)
Ain = linspace(0,1);
Ktr = kcmpnd(Ain,600);
figure(1)
plot(Ain,Ktr)
plot(Ain,Ktr.*Ain,'LineWidth',2)
title('Compressor A_{out}(A_{in})')
xlabel('A_{in}')
ylabel('A_{out}')
grid on
figure (2)
Ain = linspace(0,1);
Ktr = kcmpnd(Ain,600);
figure(2)
plot(Ain,Ktr.*Ain)
plot(Ain,Ktr,'LineWidth',2)
title('Compressor Gain')
xlabel('A_{in}')
ylabel('K_{tr}')
grid on
% Meroga koeficentu iegusana
Str = [400; 450; 500; 550; 600];
Aoutmax = log10(Str+1)*20;
T = table(Str,Aoutmax),
% Dekompresora raksturliknes
syms Arin Str Arout
% equ = Arin*log10(Str+1)-log10(Str*Arout+1);
equ = Arin*log10(Str+1)-log10(Str*Arin*Arout+1);
solve(equ,Arout);
pretty(ans),
Arin = linspace(0,1);
Krc = kexpnd(Arin,600);
figure(3)
plot(Arin,Krc.*Arin,'LineWidth',2)
title('Expander A_{rout}(A_{rin})')
xlabel('A_{rin}')
ylabel('A_{rout}')
grid on
figure(4)
plot(Arin,Krc,'LineWidth',2)
title('Expander Gain')
xlabel('A_{rin}')
ylabel('K_{rc}')
grid on
% linearitates parbaude
figure(5)
Ain = linspace(0,1);
Arin = (Ain.*kcmpnd(Ain,600));
Arout = Arin.*kexpnd(Arin,600);
plot(Ain,Arout,'LineWidth',2)
title('A_{rout}(A_{in})')
xlabel('A_{in}')
ylabel('A_{rout}')
grid on
% Vienkarsa LPF realizacija
syms tau s z Fs
Hs = 1/(tau*s+1);
bilin = 2*Fs*(z-1)/(z+1);
Hz = simplify(subs(Hs,s,bilin));
Hz = collect(Hz);
pretty(Hz),
% RC kedes parvades raksturlikne
figure(6)
tau = 1e-3; Fs = 8000;
f = linspace(0,10000,1000);
hs = freqs(1,[tau,1],2*pi*f);
b = [1,1];
a = [1+2*tau*Fs,1-2*tau*Fs];
hz = freqz(b,a,f,Fs);
semilogx(f,abs(hs),'-b', f,abs(hz), '--b', 'LineWidth',2);
title('Magnitudes for H(s) and H(z)')
xlabel('Frequency [Hz]')
%ylabel('magnitude')
grid on
legend ('H(s)','H(z)','Location','southwest')
Binary file not shown.