- 博客(104)
- 收藏
- 关注
原创 n bit 的DAC至少需要发多少点?
N比特的DAC至少需要发多少点?比如3位DAC 需要发多少点去表示所有的code?从000 - 111, 则有2的三次方 = 8个code;需要多少点呢?设场景条件:## Vpk = A的sine 波 至少需要发N 个点, 来表示n比特的DAC的 (2^n - 1) 个code;首先需要知道每个code 代表的电压与频率点数的关系;所以从时域表达式可以看出:**(1) Vt = Asin(wt+ fai);**由于DAC 用digital 表示analog信号 本身也是从离散的微分量集合
2022-05-04 16:39:53 398
原创 【Java多线程之线程命名 setname 构造器命名】
public class MyThread extends Thread { public MyThread() { } public MyThread(String name) { super(name); } public void run() { System.out.println(Thread.currentThread().getName()); }}可以,创建带参数的thread 构造函数,将传参传递
2022-05-02 16:50:33 939
原创 Java多线程之内存分析
方法执行在栈空间Thread 开辟新的栈空间,不影响main线程, 互不干扰;声明Thread 对象则是指向堆内存空间;CPU 具有随机选择权;
2022-05-02 16:31:49 791
原创 Java之多线程01_thread
public class MyThread extends Thread { public void run() { for (int i = 0; i < 20; i++) { System.out.println("run:" + i); } }}Thread 定义线程任务import java.nio.file.SecureDirectoryStream;public class Demo01Thread {
2022-05-02 15:42:15 1352
原创 【java 多线程 locK unlock runnable thread sleep 】
import java.util.concurrent.locks.ReentrantLock;class Window implements Runnable { private int ticket = 5; // 1.实例化ReentrantLock private ReentrantLock lock = new ReentrantLock(); @Override public void run() { while (true) {
2022-05-01 22:42:45 219
原创 【Java, 看个泛型的例子】
在看到CSDN一位博主 写了一个泛型的例子,实际运行时发现有error,没有声明对象;对源代码做了小修改:主要有两种该法:import javax.swing.SizeRequirements;public class GenericFruit { static class Fruit { private String name; @Override public String toString() { return
2022-04-30 22:02:58 337
原创 【Java 接口的一个用处,interface】
class Computer { public void transferData(USB usb) {// USB usb = new Flash(); usb.start(); System.out.println("data transimiso"); usb.stop(); }}interface USB { // 常量:定义了长、宽、最大最小的传输速度等 void start(); void
2022-04-30 21:53:44 163
原创 java 存储文件夹下的文件路径信息
File 类getAbsolutePath()boolean isDirectory()isFile()File[] listFiles()ArrayList objectName =new ArrayList<>(); // 初始化 static ArrayList<String> getFileName(String path) { ArrayList<String> file_list = new ArrayList<&
2022-01-26 16:59:01 293
原创 PRBS码
PRBS码常应用于收发高速接口测试中,模拟随机码流信息;不同的PRBS码流表达式:f(x)=1+x+x2+x4+x6+x7+x9+x10+x15+x16+x17+x18+x22+x23+x^24 +x27+x30+x^31.当前常用PRBS15,PRBS7;PRBS15的码型特点:最多15个长1,14个长0状态。PRBS码流, 0和1随机出现,其频谱特征与白噪声非常接近。PRBS码流的阶数越高,其包含的码流就越丰富,就越接近真实的线网环境,测试的结果就越准确。相对测试要求高,fail rate
2022-01-26 16:05:50 2295
原创 2021-09-07 几种算法总结
广度优先搜索: 找出段数最少的路径,操作数最少狄克斯特拉算法: 找出最快的路径,权重, 更新节点的开销,计算最小的总权重。【无负权边】贝尔曼-福德算法: 找出最快的路径,权重, 更新节点的开销,计算最小的总权重。适用于包含负权边贪婪算法: 求近似解;K最近邻算法:特征抽取;二叉查找树 (binary search tree):查找,插入,删除: log(n)访问时间:log(n) 不可以随机访问;常见数据结构:红黑树,B树,堆,伸展树...
2021-09-07 15:32:47 129
原创 快速排序
def quickSort(arr): if (len(arr) < 2): return arr else: array = arr[0] less = [i for i in arr[1:] if i <= array] lager = [i for i in arr[1:] if i > array] return quickSort(less) + [array] + quickSort
2021-09-06 17:31:46 100
原创 递归 递归数组求和
递归算法:递归和循环在运行上没有太大区别,递归相对来说更容易理解;递归需要两个条件:基线条件:自己调用自己递归条件:不再调用自己def count(i): print(i) if i < 0: return else: count(i-1)...
2021-09-06 16:05:29 209
原创 选择排序
def findSmallest(arr): smallest = arr[0] smallest_index = 0 for i in range(1, len(arr)): if (arr[i] < smallest): smallest = arr[i] smallest_index = i return smallest_indexdef selectionSort(arr): newA
2021-09-06 15:35:02 76
原创 链表与数组
链表1. 链表的每个元素都存储了下个元素的地址2. 链表的随机读取效率没有数组高,需要先逐次访问第一个元素以获取第二个元素的地址,依次类推3. 链表相对数组的优势在于插入数据,删除数据对数组和链表的常见运行时间进行分析:数组: 读取O(1) 插入读取O(n) 删除O(n)链表: 读取O(n) 插入读取O(1) 删除O(1)前提:立即访问或删除元素时...
2021-09-06 15:06:59 100
原创 常见大O 运行时间
不同的算法具有不同的操作数时间:有常见的5种形式:log(n)nnlog(n)nnn!以上操作的元素越多, 运行时间分别是log(n) 最快,n!最慢
2021-09-06 14:52:54 140
原创 二分法 找下标
def binary_search(list, item): low = 0 high = len(list) while low<= high: mid = int((low + high)/2) guess = list[mid] if guess == item: return mid if guess > item: high = mid - 1
2021-09-06 14:44:15 126
原创 初识 LDO工作原理 trim 修调的影响因素
LDO即low dropout regulator,是一种低压差线性稳压器。这是相对于传统的线性稳压器来说的。怎么方便理解LDO呢?首先,以同相比例放大器为例,同相输入端接信号vs,反向输入端通过电阻 R1接地,vo与vs同相,根据“虚短”和“虚断”vo=(1+Rf/R1)v-=(1+Rf/R1)vs, 故称为同相比例放大电路。以同相比例放大器为基础,构建一个简单的LDO模型;实现5V转3.3V 的降压输出,输入端为5V供电,经过电阻分压,可以得到正端1V 输入,当放大器工作在线性区
2021-09-02 17:10:42 5312
原创 递归函数 递归输出 设定终止条件 避免死循环
#include <iostream>using namespace std;void rePrint(int* a) { if (*a == 6) { return; } rePrint(a + 1); cout << *a << endl;}int main() { int a[6] = { 1, 2, 3, 4, 5, 6 }; rePrint(a); system("pause");}
2021-08-22 23:27:20 694
原创 选择排序 升序
#include <iostream>using namespace std;int main() { int arr[5] = { 5,2,1,4,3 }; int(*p)[5] = &arr; for (int i = 0; i < 5; i++) { cout << (*p)[i]; } cout<< endl; int len = sizeof(arr) / sizeof(int); for (int i = 0; i
2021-08-22 22:34:18 144
原创 常见数组指针定义方式
#include <iostream>using namespace std;int main() { int arr[5] = { 1,2,3,4,5 }; int(*p)[5] = &arr; for (int i = 0; i < 5; i++) { cout << (*p)[i] << endl; }}
2021-08-22 22:18:43 106
原创 replace replace_if
#include<iostream>using namespace std;#include <vector>#include <algorithm>class myprint{public: void operator()(int val) { cout << val << endl; }};void test() { vector<int> v; v.push_back(20); v.push_
2021-08-10 20:43:26 85
原创 find_if 查找自定义数据类型
find_if 条件,提供谓词,返回迭代器的位置找到即停止,*it 返回当前找到的值与find 使用方式类似//-----------------------------------------------------//自定义数据类型personclass Person {public: Person(string name, int age) { this->m_Name = name; this->m_Age = age; }public: string.
2021-08-09 13:32:38 288 1
原创 find 函数 查找 自定义数据类型
class Person {public: Person(string name, int age) { this->m_Name = name; this->m_Age = age; }//------------------------------------------//重载== 让底层find知道如何对比 person 自定义数据类型 bool operator==(const Person& p) { if (this->m_Name =.
2021-08-09 13:22:22 179
原创 transform C++
transform :搬运的目标容器必须要提前开辟空间,否则无法正常搬运 // vTarget.resize(v.size());搬运容器到另一个容器中仿函数的使用#include<vector>#include<algorithm>//常用遍历算法 搬运 transformclass TransForm{ public: int operator()(int val) { return val; }};class MyPrint{pub
2021-08-09 13:09:18 220
原创 内建的函数对象, 仿函数
内建函数对象意义概念:STL内建了一些函数对象分类:算术仿函数关系仿函数逻辑仿函数用法:这些仿函数所产生的对象,用法和一般函数完全相同使用内建函数对象,需要引入头文件 #include//void test01()//{// negate<int>n;//// cout << n(50) << endl;//}//...
2021-08-08 11:32:15 126
原创 利用仿函数 改变 sort排序方式 sort 默认 由小到大
//二元谓词class MyCompare{public: bool operator()(const int va11, const int val2) { return va11 > val2; }//--------------------------------- sort(v.begin(), v.end()); for (vector<int>::iterator it = v.begin(); it != v.end(); it++) { cou
2021-08-08 11:27:33 425
原创 函数对象 仿函数
函数对象使用特点:函数对象在使用时,可以像普通函数那样调用, 可以有参数,可以有返回值class MyAdd{public: int operator()(int v1,int v2) { return v1 + v2; }};函数对象超出普通函数的概念,函数对象可以有自己的状态,比如定义成员属性变量。。。class MyPrint{public: MyPrint() { this->count = 0; } void operator()(string
2021-08-08 11:06:20 76
原创 插map 迭代器
void setGroup(vector<Worker> &v, multimap<int, Worker>&m) { for (vector<Worker>::iterator it = v.begin(); it != v.end(); it++) { int deptId = rand() % 3; // 0 1 2 m.insert(make_pair(deptId, *it)); }}
2021-08-08 10:23:08 93
原创 仿函数 定义
仿函数 本身是一个类;仿函数 是对小括号的 重载仿函数 返回的是bool 类型仿函数 主要const的使用//自定义数据类型 都会指定排序规则 可以利用仿函数class comparePerson{public: bool operator()(const Person& p1, const Person& p2)const { //按照年龄 降序 return p1.m_Age < p2.m_Age; }};void test01(){ //自
2021-08-07 22:06:02 161
原创 尾插法, 尾删法
//尾插法 void Push_Back(const T & val) { //判断容量是否等于大小 if (this->m_Capacity == this->m_Size) { return; } this->pAddress[this->m_Size] = val; //在数组末尾插入数据 this->m_Size++; //更新数组大小 } //尾删法 void Pop_Back() { //让用户访问不到最后一.
2021-07-31 22:58:31 478 1
原创 数组类封装
#include <iostream>using namespace std;template<class T>class MyArray{public: //有参构造 参数 容量 MyArray(int capacity) { //cout << "Myarray有参构造调用" << endl; this->m_Capacity = capacity; this->m_Size = 0; this->p.
2021-07-31 21:45:30 172
原创 频域法计算频率
double getOscFreq(string id,double sampleFreq_MHz, string mpin){/**********************freq domain----FFT---**************************/ ARRAY_D spect; double min,max,dR,interpol_index; int min_index,max_index; double Freq_PreTrimFreq_MHz=0.0; AR.
2021-05-10 23:38:52 678 1
原创 int 转string double转string
STRING tostring(INT i){ ostringstream ss; ss << i; return ss.str();}STRING tostring(DOUBLE i){ ostringstream ss; ss << i; return ss.str();}
2021-05-10 23:37:27 61
原创 获取指定bit位信息
int modify_bit_info_post(int data,int MSB_bit, int LSB_bit, int best_Code){ int temp_data; int full_Bit_data; int focused_bit_info; focused_bit_info = 0; if (MSB_bit < LSB_bit){ cout << "ERROR:: MSB_bit should be larger than LSB_bit, pls c.
2021-05-10 23:36:00 456
原创 按关键字符分割字符串,并按数组或列表形式存储
void txtSplit(const string& src, const string& separator, vector<string>& dest){ string str = src; string substring; string::size_type start = 0, index; dest.clear(); index = str.find_first_of(separator,start); do { if (index !=.
2021-05-10 23:25:44 260
原创 读取txt文件,截取关键字
void getRegisterMapTxt(string file_name){ char device_dir_c[200]; GetDevPath(device_dir_c); string device_dir_s = device_dir_c; string fileNamePath = device_dir_s+"/waste/"+ file_name; ifstream fileinput; fileinput.open(fileNamePath.c_str()); // .
2021-05-10 23:10:30 421
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人