离散时间信号频域分析
离散时间傅里叶级数
x[n]=\sum_{k=}a_ke^{jkw_0n}=\sum_{k=}a_ke^{jk\frac{2\pi}{T_0}n}
a_k=\frac{1}{N}\sum_{n=}x[n]e^{-jkw_0n}
离散时间傅里叶级数不存在着收敛问题和吉布斯现象
离散傅里叶变换
X(e^{jw})=\sum_{n=-\infty}^\infty x[n]e^{-jwn}
x[n]=\frac{1}{2\pi}\int_{2\pi}X(e^{jw})e^{jwn}dw
X(e^{jw})=|X(e^{jw})|e^{j\theta(w)}离散时间傅里叶变换的收敛性与吉布斯现象x[n]要求绝对可和并能量有限
\sum_{n=-\infty}^\infty |x[n]|
连续时间信号频域分析
连续时间周期信号的傅里叶级数复指数信号是LTI系统的特征函数,对于连续时间周期信号,都可以表示为成谐波关系的复指数信号
x(t)=\sum_ka_ke^{jkw_0t}=\sum_ka_ke^{jk\frac{2\pi}{T_0}t}
a_k=\frac{1}{T_0}\int_{T_0}x(t)e^{-jkw_0t}dt三角形式的傅里叶级数
x(t)=B_0+\sum_{k=1}^{\infty}(B_k\cos kw_0t+C_k\sin kw_0t)
B_0=\frac{1}{T_0}\int_{T_0}x(t)dt
B_k=\frac{2}{T_0}\int_{T_0}x(t)\cos kw_0tdt
C_k=\frac{2}{T_0}\int_{T_0}x(t)\sin kw_0tdt常见信号的傅里叶级数三角信号
x(t)=\sin w_0t=\frac{1}{2j}(e^{jw_0t}-e^{-jw_0t})周期方波
x(t)=
\begin{cases}
1&|t|
LTI系统时域分析
离散时间LTI系统离散信号单位脉冲分解对于任意离散信号x[n],都可以利用移位脉冲的加权之和来表示
x[n]=\sum_{k=-\infty}^{\infty}x[k]\delta[n-k]
离散时间LTI系统的卷积和h[n]为系统对单位脉冲信号的响应
x[n]=\sum_{k=-\infty}^{\infty}x[k]\delta[n-k]
y[n]=\sum_{k=-\infty}^{\infty}x[k]h[n-k]=x[n]*h[n]卷积计算方法
公式
列表法:适合小量数据
画图
卷积的性质
交换
结合
分配
x[n] 不为0的区间长度为m,h[n] 为 n,卷积后区间为m+n-1
x[n] 区间为 [m,n], h[n] 区间为 [q,p]卷积后区间为 [m+q,n+p]
特殊函数的卷积
x[n]*\delta[n]=x[n]
x[n]*\delta[n-n_0]=x[n-n_0]
x[n]*u[n]=\sum_{k=-\infty}^{\infty}x[k]u[n-k]=\sum_{k=-\infty}^{n}x[k]连续时间LTI系统的卷积积分任何连续信号也 ...
系统的基本概念
信号的分类
随机信号和确定信号
连续和离散
周期
奇偶
所有信号可以被分解为奇偶信号
功率和能量
能量信号(能量有限信号):如果信号x(t)满足: 0<E <$\infin$,而P = 0。
功率信号(功率有限信号):如果信号x(t)满足:0 < P <$\infin$, 而E=$\infin$。
周期信号一般属于功率信号,属于能量信号的非周期信号也称为脉冲信号
复指数信号与正弦信号连续时间复指数信号
x(t)=ce^{st}
s=\sigma+jw
T_0=\frac{2\pi}{|w_0|}正弦与复指数信号转换
\cos wt=\frac{1}{2}(e^{jwt}+e^{-jwt})
\sin wt=\frac{1}{2j}(e^{jwt}-e^{-jwt})
A\cos(wt+\phi)=\frac{A}{2}e^{j\phi}e^{jwt}+\frac{A}{2}e^{-j\phi}e^{-jwt}=ARe\{e^{j(wt+\phi)}\}
A\sin(wt+\phi)=Aim\{e^{j(wt+\phi)}\}离散时间复指数 ...
com base
最近科研碰上大量通讯相关的背景,因此对通讯的一些基本背景知识做简单整理
词汇&简称
UE:user equipment
BS: base station
Tx: transmitter beam
Rx: receive beam
DFT:离散傅里叶变换
LOS:视距
NLOS:非视距
scattering:散射分量
constant:直射分量
AOA:接收角
AOD:发射角
SNR:Signal-to-noise,信噪比公式
SNR=\frac{Signal Power}{Noise Power}=\frac{E[|x(t)|^2]}{E[|v(t)|^2]}=\frac{E_s}{N_0}
SNR_{db}=10log_{10}SNR香农公式香农公式定义了再高斯白噪声的信道中,信息传输的最大速率
C=W\log_2(1+S/N)
S/N=SNR_{db}信号离散傅里叶变化
\sqrt{(1/N_T)}*e^{(-i2\pi(-1/2+(slot_{ind}-1)/N_T)*[0:N_T-1]^T)}
信道类型:channel typelos:视距
K_{fdB} = ...
建立你的知识神经网络
早在6月份学习深度学习的时候就有想在自己的博客中加入一张神经网络图记录学习的知识体系,一直拖到现在(主要是看门狗2太好玩了,不是)。这篇文章将详细的介绍如何在hexo博客中加入一张神经网络图。
在博客中加入新页面在博客中加入新页面的方式有两种,一种是直接创建html文件,自己做一个网页,令一种是新建一个md格式的page,,最后考虑到博客的整体性,我选择了后者,下面是两种方法的具体过程
加入新html子页面
首先,在博客根目录的source文件夹下,新建文件夹用于存放HTML文件
hexo会对source文件夹中所有的页面进行渲染,所以我们自己的HTML文件需要跳过渲染。
在博客根目录的配置文件_config.yml文件里,跳过渲染
跳过文件夹下所有文件 skip_render:
- "文件夹名/*"
新建一个page
cmd+win调出命令行,在博客对应目录输入
hexo new page "页面名称"
hexo 会在source文件夹下创建一个对应的文件夹,里面有一个index.md的文件,在配置文件_config.yml中 ...
Beautiful Soup
在使用正则化匹配时无法去除标签,所以使用BeautifulSoup,BeautifulSoup可以很好的第三方用于解析网站,查找信息的包
Beautiful soup basic安装Beautifulsoup命令行或Anaconda Promote cd到../Lib/site-package
pip install beautifulSoup4
基本使用方法找到标签from bs4 import BeautifulSoup
soup = BeautifulSoup(html, features='lxml')
print(soup.h1) #打印<h1>标签内容
查找链接all_href = soup.find_all('a')
all_href = [l['href'] for l in all_href]
print('\n', all_href)
根据CSS查找CSS定义了class,可以根据class来查找想要的信息,对于以下html代码
<head>
...
<style>
...
爬虫基础-正则表达匹配
网页结构网页由HTML组成,用JS和CSS修饰,爬虫会根据html中的标签来搜索合适的信息
用python登录网页from urllib.request import urlopen
html = urlopen("https://fazzie-key.cool.html").read().decode('utf-8')
print(html)
利用python搜索内容正则表达式正则表达式 (Regular Expression) 又称 RegEx, 是用来匹配字符的一种工具.
import re #导入模块
# regular expression
pattern1 = "cat"
pattern2 = "bird"
string = "dog runs to cat"
print(re.search(pattern1, string))
print(re.search(pattern2, string))
打印结果
<_sre.SRE_Match object; ...
pytorch basic
激励函数常见激励函数
函数
作用场景
relu
CNN
sigmoid
二分类
tanh
RNN
softmax
多分类
softplus
导入函数包import torch.nn.functional as F
神经网络搭建基本步骤
数据加载
网络搭建
优化器合损失函数定义
训练
网络搭建class Net(torch.nn.Module): # 继承 torch 的 Module
def __init__(self, n_feature, n_hidden, n_output):
super(Net, self).__init__() # 继承 __init__ 功能
# 定义每层用什么样的形式
self.hidden = torch.nn.Linear(n_feature, n_hidden) # 隐藏层线性输出
self.predict = torch.nn.Linear(n_hidden, n_output) # 输出层线性输出
def fo ...
JS Basic
JavaScript 基础
所有主流浏览器都支持JavaScript。
目前,全世界大部分网页都使用JavaScript。
它可以让网页呈现各种动态效果。
如何插入JS使用<script>标签在HTML网页中插入JavaScript代码。注意, <script>标签要成对出现,并把JavaScript代码写在<script></script>之间。
<script type="text/javascript">表示在<script></script>之间的是文本类型(text),javascript是为了告诉浏览器里面的文本是属于JavaScript语言。
应用JS文件JS文件不能直接运行,需嵌入到HTML文件中执行,我们需在HTML中添加如下代码,就可将JS文件嵌入HTML文件中。
<script src="script.js"></script>
嵌入JS的位置我们可以将JavaScript代码放在html文件中任何位置,但是 ...