VLSI homework 10, ECOMMS homework 3
This commit is contained in:
parent
faa05b88f9
commit
660744cf30
BIN
7th-Semester-Fall-2024/ECOMMS/homework/homework-3/1.png
Normal file
BIN
7th-Semester-Fall-2024/ECOMMS/homework/homework-3/1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 100 KiB |
BIN
7th-Semester-Fall-2024/ECOMMS/homework/homework-3/1a.png
Normal file
BIN
7th-Semester-Fall-2024/ECOMMS/homework/homework-3/1a.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 46 KiB |
BIN
7th-Semester-Fall-2024/ECOMMS/homework/homework-3/2.png
Normal file
BIN
7th-Semester-Fall-2024/ECOMMS/homework/homework-3/2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 31 KiB |
BIN
7th-Semester-Fall-2024/ECOMMS/homework/homework-3/HW 3.pdf
Normal file
BIN
7th-Semester-Fall-2024/ECOMMS/homework/homework-3/HW 3.pdf
Normal file
Binary file not shown.
@ -0,0 +1,95 @@
|
||||
# ECOMMS Homework 3 - Aidan Sharpe
|
||||
|
||||
## Problem 1
|
||||
A sinusoidal signal $m(t) = \cos(2\pi f_m t)$ is the input to an angle-modulated transmitter, $A_c = 1$, and the carrier frequency is $f_c = 1$ Hz and $f_m = f_c/4$. Plot $m(t)$, and the corresponding phase and frequency modulated signals, $S_p(t)$ and $S_f(t)$ respecively. $D_p = \pi$ and $D_f = \pi$.
|
||||
|
||||
```python
|
||||
f_c = 1
|
||||
f_m = f_c/4
|
||||
|
||||
f_s = 8E3
|
||||
T_s = 1/f_s
|
||||
|
||||
A_c = 1
|
||||
D_p = np.pi
|
||||
D_f = np.pi
|
||||
|
||||
omega_m = 2*np.pi*f_m
|
||||
omega_c = 2*np.pi*f_c
|
||||
|
||||
# Time samples from to 10 seconds with a sampling frequency of 8kHz.
|
||||
t = np.arange(0,10,T_s)
|
||||
|
||||
# The message signal
|
||||
m = np.cos(omega_m * t)
|
||||
|
||||
# The phase modulated signal
|
||||
S_p = np.cos(omega_c*t + D_p*m)
|
||||
|
||||
# The time integral of the mesage signal
|
||||
M = np.sin(omega_m * t) / omega_m
|
||||
|
||||
# The frequency modulated signal
|
||||
S_f = np.cos(omega_c*t + D_f*M)
|
||||
```
|
||||
|
||||

|
||||
|
||||
## Problem 2
|
||||
An FM signal has sinusoidal modulation with a frequency of $f_m = 15$kHz and a modulation index of $\beta = 2.0$. Find the transmission bandwidth by using Carson's rule, and find the percentage of total FM signal power that lies within the Carson rule bandwidth.
|
||||
|
||||
```python
|
||||
# Modulation index
|
||||
beta = 2.0
|
||||
|
||||
# Message frequency
|
||||
f_m = 15E+3
|
||||
|
||||
# Transmission bandwidth
|
||||
B_T = 2*(beta+1)*f_m
|
||||
```
|
||||
|
||||
$\boxed{B_T = 90\text{kHz}}$
|
||||
|
||||
```python
|
||||
A_c = 1
|
||||
n = np.arange(-3,4,1)
|
||||
|
||||
# Evaluate the Bessel function at values in Carson rule bandwidth
|
||||
bessel_values = np.abs(sp.special.jv(n,beta))
|
||||
|
||||
P_C = 0.5 * A_c**2 * np.sum(bessel_values**2))
|
||||
P = 0.5 * A_c**2
|
||||
```
|
||||
|
||||
\boxed{P_c = 0.9976 P}
|
||||
|
||||
## Problem 3
|
||||
A modulated RF waveform is given by $500\cos(\omega_c t + 20\cos(\omega_1 t))$, where $\omega_1 = 2\pi f_1$, $f_1 = 1$kHz, $\omega_c = 2\pi f_c$, and $f_c = 100$MHz.
|
||||
|
||||
### 3a
|
||||
If the phase sensitivity $D_p = 100$ rad/V, find the mathematical expression for the corresponding phase modulation voltage $m(t)$. What is its peak value and frequency?
|
||||
|
||||
$m(t) = \frac{20\cos(\omega_1 t)}{D_p} = 0.2\cos(\omega_1 t)$
|
||||
|
||||
Peak value: $2 \times 10^{-1}$
|
||||
|
||||
Frequency: 1kHz
|
||||
|
||||
### 3b
|
||||
If the frequency deviation constant $D_f = 10^6$rad/Vs, find the mathematical expression for the corresponding FM voltage $m(t)$. What is its peak value and its frequency?
|
||||
|
||||
$\theta(t) = 20\cos(\omega_1 t)$
|
||||
|
||||
$m(t) = \frac{1}{D_f} \frac{d \theta(t)}{dt} = -2 \times 10^{-5} \omega_1 \sin(\omega_1 t)$
|
||||
|
||||
Peak value: $2 \times 10^{-5}$
|
||||
|
||||
Frequency: 1kHz
|
||||
|
||||
### 3c
|
||||
If the RF waveform appears across a 50$\Omega$ load, determine the average power and the PEP.
|
||||
|
||||
The average power of the signal is:
|
||||
$$\langle s^2(t) \rangle = \frac{1}{T} \int\limits_{-T/2}^{T/2} 500\cos(\omega_c t + 20\cos(\omega_1 t)) dt$$
|
||||
|
BIN
7th-Semester-Fall-2024/ECOMMS/homework/homework-3/homework-3.pdf
Normal file
BIN
7th-Semester-Fall-2024/ECOMMS/homework/homework-3/homework-3.pdf
Normal file
Binary file not shown.
@ -4,21 +4,41 @@ import matplotlib.pyplot as plt
|
||||
|
||||
f_c = 1
|
||||
f_m = f_c/4
|
||||
f_s = 8E3
|
||||
T_s = 1/f_s
|
||||
|
||||
A_c = 1
|
||||
|
||||
omega_m = 2*np.pi*f_m
|
||||
omega_c = 2*np.pi*f_c
|
||||
|
||||
T_c = f_c
|
||||
|
||||
t = np.arange(0,10,T_c/10)
|
||||
# Time samples to 10 seconds at a samplig frequency of 8kHz
|
||||
t = np.arange(0,10,T_s)
|
||||
m = np.cos(omega_m * t)
|
||||
|
||||
plt.plot(t, m)
|
||||
plt.show()
|
||||
plt.subplot(311)
|
||||
plt.plot(t, m, label="$m(t)$")
|
||||
plt.ylabel("$m(t)$")
|
||||
|
||||
D_p = np.pi
|
||||
D_f = np.pi
|
||||
|
||||
S_p = np.cos(omega_c + D_p*m)
|
||||
# The phase modulated signal
|
||||
S_p = np.cos(omega_c*t + D_p*m)
|
||||
|
||||
plt.subplot(312)
|
||||
plt.ylabel("$S_p(t)$")
|
||||
plt.xlabel("t (seconds)")
|
||||
plt.plot(t,S_p)
|
||||
|
||||
# The time integral of the mesage signal
|
||||
M = np.sin(omega_m * t) / omega_m
|
||||
|
||||
# The frequency modulated signal
|
||||
S_f = np.cos(omega_c*t + D_f*M)
|
||||
|
||||
plt.subplot(414)
|
||||
plt.ylabel("$S_f(t)$")
|
||||
plt.xlabel("t (seconds)")
|
||||
plt.plot(t,S_f)
|
||||
plt.show()
|
||||
|
@ -4,6 +4,7 @@ import matplotlib.pyplot as plt
|
||||
|
||||
# Modulation index
|
||||
beta = 2.0
|
||||
A_c = 1
|
||||
|
||||
# Number of impulses is 2*(beta+1) + 1.
|
||||
# For beta=2, the number of impulses is 3 either side of the center frequency
|
||||
@ -15,12 +16,20 @@ f_m = 15E+3
|
||||
# Transmission bandwidth
|
||||
B_T = 2*(beta+1)*f_m
|
||||
|
||||
n = np.arange(0,10,1)
|
||||
bessel_values = sp.special.jv(n,beta)
|
||||
bessel_power = np.cumsum(bessel_values)
|
||||
print(B_T)
|
||||
|
||||
n = np.arange(-3,4,1)
|
||||
bessel_values = np.abs(sp.special.jv(n,beta))
|
||||
|
||||
N = np.arange(-100,100)
|
||||
bessel_power = np.sum(np.abs(sp.special.jv(N,beta)))
|
||||
plt.stem(n, bessel_values)
|
||||
plt.plot(n, bessel_power)
|
||||
plt.hlines(0.98*bessel_power[-1], xmin=n[0], xmax=n[-1])
|
||||
plt.plot(n, np.cumsum(bessel_values**2), label="Cumulative power in Carson rule bandwidth", color="red")
|
||||
#plt.plot(n, bessel_power)
|
||||
plt.hlines(0.98, xmin=n[0], xmax=n[-1], label="98% of total power", color="orange")
|
||||
plt.legend()
|
||||
plt.show()
|
||||
|
||||
#
|
||||
P_C = 0.5 * A_c**2 * np.sum(bessel_values**2)
|
||||
P = 0.5 * A_c**2
|
||||
print("Percent of total power:", P_C / P)
|
||||
|
@ -0,0 +1,23 @@
|
||||
# VLSI Homework 10 - Aidan Sharpe
|
||||
|
||||
## Problem 1
|
||||
You are synthesizing a chip composed of random logic with an average activity factor of $\alpha = 0.1$. You are using a standard cell process with an average switching capacitance of $C_\text{avg} = 450$[pF/mm$^2$]. Estimate the dynamic power consumption of your chip if it has an area of 70[mm$^2$] and runs at 450[MHz] at $V_{DD} = 0.9$[V].
|
||||
|
||||
$P_\text{dynamic} = C_\text{sw} V_{DD}^2 f_\text{sw}$
|
||||
|
||||
```python
|
||||
alpha = 0.1 # Activity factor
|
||||
C_avg = 450E-12 # Average switching capacitance [F / mm^2]
|
||||
A = 70 # Chip area [mm^2]
|
||||
f = 450E+6 # Clock frequency [Hz]
|
||||
V_DD = 0.9 # Supply voltage [V]
|
||||
|
||||
C_sw = C_avg * A # Total switching capacitance [F]
|
||||
f_sw = alpha * f # Switching frequency [Hz]
|
||||
|
||||
P_sw = C_sw * V_DD**2 * f_sw # Dynamic power [W]
|
||||
|
||||
print(f"Dynamic Power: {P_sw}")
|
||||
```
|
||||
|
||||
$\boxed{P_\text{dynamic} = 1.148175\text{[W]}}$
|
BIN
7th-Semester-Fall-2024/VLSI/homework/homework-10/homework-10.pdf
Normal file
BIN
7th-Semester-Fall-2024/VLSI/homework/homework-10/homework-10.pdf
Normal file
Binary file not shown.
@ -0,0 +1,12 @@
|
||||
alpha = 0.1 # Activity factor
|
||||
C_avg = 450E-12 # Average switching capacitance [F / mm^2]
|
||||
A = 70 # Chip area [mm^2]
|
||||
f = 450E+6 # Clock frequency [Hz]
|
||||
V_DD = 0.9 # Supply voltage [V]
|
||||
|
||||
C_sw = C_avg * A # Total switching capacitance [F]
|
||||
f_sw = alpha * f # Switching frequency [Hz]
|
||||
|
||||
P_sw = C_sw * V_DD**2 * f_sw # Dynamic power [W]
|
||||
|
||||
print(f"Dynamic Power: {P_sw}")
|
Loading…
Reference in New Issue
Block a user