'''
两种卷积计算方式对比:
1、调用库函数
2、先计算两者的傅里叶变换,再相乘,再求逆变换
'''import matplotlib.pyplot as plt
from scipy import signal
import numpy as npx = [1,2,0,1]
h = [2,2,1,1]L = len(x) + len(h) - 1XE = np.fft.fft(x, L)
HE = np.fft.fft(h, L)
tmp = XE*HEy1 = np.fft.ifft(tmp)k = []
for i in range(L):k.append(i)plt.subplot(2,1,1)
plt.stem(k, y1)
plt.title('Result of Linear Convolution y1')
plt.xlabel('Time index k')
plt.ylabel('Amplitude')y2 = np.convolve(x,h)plt.subplot(2,1,2)
plt.stem(k, y2)
plt.title('Result of Linear Convolution y2')
plt.xlabel('Time index k')
plt.ylabel('Amplitude')plt.show()


'''
由DFT近似计算 x(t)=e^(-t)*u(t)的幅度频谱并与理论值比较
'''import numpy as np
import matplotlib.pyplot as plt#解决汉字显示问题
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = Falsefs = 8
N = 32
T = 1/fs
ws = 2 * np.pi * fs
t = np.linspace(0,N-1, N) * T
x = T * np.exp(-t)
Xm = np.fft.fftshift(np.fft.fft(x))w = -ws/2 + np.linspace(0, N-1, N) * ws / N
wt = np.linspace(-ws/2, ws/2, 1001)
Xw = 1/np.sqrt(1+wt*wt)plt.plot(wt/np.pi, Xw, 'r')
plt.stem(w/np.pi, np.abs(Xm), 'k')
label = ['理论值','近似值']
plt.legend(label)
plt.show()


'''
已知连续信号x(t) = cos(2*pi*f1*t)+cos(2*pi*f2*t), f1 = 100Hz, f2=120Hz,
若以抽样频率fsam = 600Hz进行采样,计算由DFT分析其频谱
'''import numpy as np
import matplotlib.pyplot as plt#解决汉字显示问题
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = FalseN = 50
L = 512
f1 = 100
f2 = 120
fs = 600
T = 1/fs
ws = 2 * np.pi * fs
t = np.linspace(0, N-1,N)*T
x = np.cos(2*np.pi*f1*t) + np.cos(2*np.pi*f2*t)
X = np.fft.fftshift(np.fft.fft(x,L))
w = (-ws/2 + np.linspace(0,L-1,L) * ws / L) / (2*np.pi)
plt.subplot(2,1,1)
plt.plot(w, np.abs(X))
plt.ylabel("幅度谱")N = 48
L = 512
f1 = 100
f2 = 120
fs = 600
T = 1/fs
ws = 2 * np.pi * fs
t = np.linspace(0, N-1, N)*T
x = np.cos(2*np.pi*f1*t) + np.cos(2*np.pi*f2*t)wh = np.hamming(N)
x = x*whX = np.fft.fftshift(np.fft.fft(x,L))
w = (-ws/2 + np.linspace(0,L-1,L) * ws / L) / (2*np.pi)
plt.subplot(2,1,2)
plt.plot(w, np.abs(X))
plt.ylabel('幅度谱')
plt.show()

数字信号处理python代码(陈后金老师书籍第二章)相关推荐

  1. 数字信号处理python代码(陈后金老师书籍第一章)

    数字信号处理方面的python代码太少.鉴于python语言的流行,以及matlab对中国的不友好,准备将数字信号处理(陈后金老师版本)里的matlab代码全部python化. ''' x[k] = ...

  2. 信号与系统陈后金matlab,陈后金信号与系统matlab实验4.pdf

    陈后金信号与系统matlab实验4 第五章非周期信号的频域分析 作者卢未来 日期 年 月 日 : :2012 5 10 5.6非周期信号的频域分析的MATLAB实现 5-19(174 ) 例 页 试用 ...

  3. 信号与系统陈后金matlab,信号与系统(陈后金)_MATLAB.ppt

    信号与系统(陈后金)_MATLAB 信号与系统 Signals and Systems 利用MATLAB进行信号与系统分析 MATLAB简介 信号的MATLAB表示 利用MATLAB进行系统的时域分析 ...

  4. 信号与系统陈后金matlab,陈后金信号与系统matlab实验7.pdf

    陈后金信号与系统matlab实验7 第八章 离散时间信号与系统的 域分析 z 作者卢未来 日期 年 月 日 : :2012 5 10 8.5利用MATLAB进行离散系统的z域分析 8.5.1部分分式展 ...

  5. 读书笔记——《Python编程从入门到实践》第二章

    读书笔记--<Python编程从入门到实践>第二章 读书笔记--<Python编程从入门到实践>第二章 变量 如何使用变量 如何规范变量命名 字符串 字符串是什么 如何修改字符 ...

  6. 数字信号处理——Python实现快速傅里叶变换FFT

    文章首发于我的个人博客 1.FFT背景 快速傅里叶变换(FFT)是离散傅里叶变换(DFT)的快速算法,它是根据离散傅里叶的奇.偶.虚.实等特性,在DFT的基础上进行改进获得的.它对傅里叶变换的理论没有 ...

  7. Python快速编程入门#学习笔记03# |第二章 :Python基础(代码格式、标识符关键字、变量和数据类型、数字类型以及运算符)

    全文目录 ==先导知识== 学习目标: 2.1 代码格式 2.1.1 注释 2.1.2 缩进 2.1.3 语句换行 2.2 标识符和关键字 2.2.1 标识符 2.2.2 关键字 2.3 变量和数据类 ...

  8. python代码运行后怎么保存_1.11Python下保存并执行程序

    Posted by 撒得一地 on 2015年11月19日 in python教程 国外稳定加速器推荐 vypr | Nord 交互式解释器是Python的强项之一,如果想知道某些语句如何使用,就可以 ...

  9. python代码函数字符查询宝典书籍_Django基础五之django模型层(一)单表操作

    二 单表操作 一.创建表 创建模型 创建名为book的app,在book下的models.py中创建模型: from django.db importmodels#Create your models ...

最新文章

  1. python类不支持多继承_Java和C#等不允许多继承类,但是Python是可以的
  2. [Voice communications] 让音乐响起来
  3. 人力资源计算机考试题库,人力资源考试题库.doc
  4. 国家发改委:春运期间推动“健康码”全国一码通行
  5. funm--矩阵的函数运算
  6. 降维(二)----Laplacian Eigenmaps
  7. css33d图片轮播_1.Web前端之CSS3中3D立方体以及3D轮播图
  8. 别“躺”着了,赶紧把「复盘」做起来
  9. Tensorflow Python API 翻译(sparse_ops)
  10. win10更新不动_win10沙盒功能和其他同类程序的区别
  11. php写语音朗读,详解在网页上通过JS实现文本的语音朗读
  12. 17年北邮计算机应用基础,2017计算机应用基础考试题及答案
  13. 建立类成员函数与字符串的对应关系
  14. SmtpClient SSL 发送邮件异常排查
  15. 服务器违反了协议怎么办,微云里面的视频被和谐了怎么办 上传视频违反协议解决方法...
  16. bzoj 3838: [Pa2013]Raper (线段树)
  17. 申请阿里云的免费SSL证书,实现小程序HTTPS请求
  18. 面向对象设计原则之接口隔离原则
  19. python#高级变量类型1
  20. 第9课:jvm的gc时候核心参数详解:-XX:NewRatio、-XX:SurvivorRatio、-XX:NewSize、-XX:MaxNewSize

热门文章

  1. 智能聊天机器人小黄鸡及其制作方法
  2. 论文 计算机动态网页的制作,计算机动态网页设计中多元素应用网页设计论文(范文1)...
  3. MySQL InnoDB 存储引擎原理浅析
  4. JS笔记 (四)数组,json对象,数据类型 ,if 判断,swich 判断,三目运算 判断
  5. Symantec AntiVirus企业版联机客户机端卸载密码(转)
  6. 哪种视频不能用于投放DOU+,DOU+投放的视频有要求限制吗?
  7. windows粘贴板失效,不能复制粘贴解决
  8. java构建树形菜单(多级菜单)
  9. 图解HTTP-简单的HTTP协议
  10. 金蝶账套总显示找不到服务器,金蝶标准版年结后账套找不到了